我有两个顶点缓冲区,一个用于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数据?
答案 0 :(得分:1)
在旧版本中,(假设你的openGL到java包装器很薄)你得到了C风格的未定义行为。换句话说,任何事情都可能发生,包括让恶魔从你的鼻子里出来。但它通常只是意味着屏幕上的崩溃或垃圾。
在较新的版本中,如果其中一个rubustness扩展可用,那么您不会崩溃,但传递给着色器的值可能仍然是垃圾或只是设置为0.
没有办法重复使用不涉及使用采样器和减慢渲染的UV数据。复制数据并使用它完成起来更容易。