2013-04-07 81 views
0

我正在創建一個程序化城市,並隨機生成建築物和紋理。我正確地生成圓柱體建築物,併爲窗口生成程序紋理圖案,但是當我將紋理映射到圓柱體上時,它不會如我認爲的那樣出現。使用OpenGL和LWJGL無縫紋理圓柱體

enter image description here

圖爲我的三個問題。 首先,我的氣缸代碼將隨機跳過90度,從氣缸中創建出看起來不錯的切片,當其中兩個發生時,第二個有您在此處看到的延伸紋理。第一個切片看起來非常好。這是圖像上的數字2。

第二個問題 - 編號爲1 - 出於某種原因,它似乎需要大量的紋理並將其映射到圓柱體末端的小切片上,而且這種情況每次都會發生。

第三個問題稍微難以注意,雖然它最容易看到數字1,但如果您查看頂部,紋理比底部寬得多,我不知道爲什麼。

以下是創建和紋理汽缸我的源代碼:http://pastebin.com/hgMhqScg

這裏是生成的紋理和存儲代碼,並呈現實際的頂點代碼:http://pastebin.com/cUuEBmTrhttp://pastebin.com/GrytFsf1

回答

0

原來,問題#1在這裏:

if(i < v2UVA.length-1) 

那個換成

if(i < v2UVA.length) 

而這個問題消失了。不知道爲什麼拉伸發生,但我只限制最大削減1,它工作正常。