0

我正在创建一个程序化城市,其中包含随机生成的建筑物和纹理。我正在正确地生成圆柱体建筑,并为窗户生成程序纹理图案,但是当我将纹理映射到圆柱体上时,它并没有像我认为的那样出现。

在此处输入图像描述

图片显示了我的三个问题。首先,我的圆柱体代码将随机跳过 90 度以从圆柱体中创建看起来不错的切片,当其中两个发生时,第二个具有您在此处看到的拉伸纹理。第一片看起来非常好。那是图像上的数字2。

第二个问题(编号为 1)是,由于某种原因,它似乎占用了大部分纹理并将其映射到圆柱体末端的一小块切片上,并且每次都会发生这种情况。

第三个问题稍微难以注意到,虽然在数字 1 上最容易看到,但如果你看顶部,纹理比底部宽得多,我不知道为什么。

这是我创建和纹理圆柱体的源代码:http: //pastebin.com/hgMhqScg

这是生成纹理的代码以及存储和渲染实际顶点的代码:http: //pastebin.com/cUuEBmTr http://pastebin.com/GrytFsf1

4

1 回答 1

0

原来#1的问题在这里:

 if(i < v2UVA.length-1)

切换到

 if(i < v2UVA.length)

这个问题就消失了。不知道为什么会发生拉伸,但我只是将最大削减限制为 1,它工作正常。

于 2013-04-15T06:23:00.207 回答