2011-12-08 64 views
2

Globe Artifact爲什麼我可以在GLSL中看到這個OpenGL球形映射工件?

我試圖將全球紋理映射到球體上。我正在使用平板加侖(Equirectangular)地圖投影,並有這種「模糊」的子午線。奇怪的是,模糊並不是圍繞我的紋理中的奇點(在這個例子中是在太平洋上發生的)。相反,缺陷出現在(s,t)=(0.5,?)點周圍。

我做過一些非常愚蠢的事情嗎?

編輯:爲了證明該模型並不陌生,這裏是一個茶壺同樣的事情:

Teapot Artifact

回答

6

您不能生成紋理座標這樣。

問題是,真的很簡單。在359度時,S紋理座標將是0.95左右。接近1.0,但不等於1.0。在0度處,物理是與最後位置直接相鄰的位置,紋理座標將爲0.0。所以你會插入0.95和0.0之間。它不會繞過另一條路。

這是存在立方圖的多種原因之一。如果沒有立方體貼圖或更改網格的拓撲結構,則無法解決此問題。

+0

Ahh ..有道理(+1)。你是什​​麼意思「改變網格的拓撲結構」? –

+0

否則,您可以使用預生成的UV – Kromster

+0

@Krom:這只是將問題轉移到其他地方。我仍然必須以某種方式生成座標。 –

相關問題