opengl中的Java vbo,索引纹理坐标,可能吗?

标签 java opengl lwjgl uv-mapping

image showing my uv mapping problem

如上图所示,一个顶点需要映射到两个不同的uv坐标。我知道我可以通过将另一个缓冲区绑定(bind)到 GL_ELEMENT_ARRAY_BUFFER 来索引 verities,但这会将 uv 绑定(bind)到同一索引中。我找不到任何显示如何索引 uv 的文档或文章。我认为有一种方法可以做到这一点,因为它似乎对人们有用。我该怎么做?

最佳答案

简单地说,没有办法来索引顶点的单个属性。元素/索引缓冲区的使用适用于共享属性的排列,例如位置,紫外线。由于其中一个属性无法共享,因此其他属性也不能共享。该问题的一个简单解决方案是复制所需的信息来构造新的排列(具有不同的 uv 坐标)。

实际上,您需要支持的是多个元素/索引缓冲区,每个属性一个:用于普通属性的元素/索引缓冲区,用于 uv 属性的元素/索引缓冲区,用于位置属性的元素/索引缓冲区。但在当前几代 OpenGL(3 或 4)或 DirectX (11)(可能在硬件级别本身)中,这种情况根本不存在。

关于opengl中的Java vbo,索引纹理坐标,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22849042/

相关文章:

java - 参数化类问题

c - 在等待响应的同时保持游戏运行?

opengl - 如何创建分形立方体?

java - OpenCL 内核比普通 Java 循环慢

java - 使用单个 VBO 创建体素 block - 如何平移每个 block 的坐标并将其添加到 VBO block ?

java - 如何使用 javascript 从 HTML 调用服务器端 java 方法?

java 父类(super class)有多个构造函数

java - 如何在LWJGL中绕其中心旋转矩形?

java - 解析时何时解析别名?

opengl - 多次调度相同的计算着色器