2013-04-07 40 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,它工作正常。