OpenGL:是否可以包裹顶点缓冲区?

时间:2014-12-20 00:11:20

标签: java opengl attributes vertex

我有两个顶点缓冲区,一个用于XY坐标数据,另一个用于UV数据,作为属性传递给着色器。

XY_Data (Two Triangles)   : {  0f,  0f, 10f,  0f, 10f, 10f, 
                              50f, 50f, 60f, 50f, 60f, 60f }

UV_Data (Single Triangle) : {  0f,  0f, .5f,  0f,  1f, 1f  }

绘制两个三角形时是否可以重复使用单个三角形的UV数据,而不必扩展缓冲区的大小以匹配XY数据?

1 个答案:

答案 0 :(得分:1)

在旧版本中,(假设你的openGL到java包装器很薄)你得到了C风格的未定义行为。换句话说,任何事情都可能发生,包括让恶魔从你的鼻子里出来。但它通常只是意味着屏幕上的崩溃或垃圾。

在较新的版本中,如果其中一个rubustness扩展可用,那么您不会崩溃,但传递给着色器的值可能仍然是垃圾或只是设置为0.

没有办法重复使用不涉及使用采样器和减慢渲染的UV数据。复制数据并使用它完成起来更容易。