【问题标题】:Seamlessly texture a cylinder with OpenGL and LWJGL使用 OpenGL 和 LWJGL 无缝纹理圆柱体
【发布时间】:2013-04-15 14:23:00
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: java opengl textures lwjgl


    【解决方案1】:

    原来 #1 的问题在这里:

     if(i < v2UVA.length-1)
    

    切换到

     if(i < v2UVA.length)
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-17
      • 1970-01-01
      • 1970-01-01
      • 2019-09-22
      相关资源
      最近更新 更多