有没有办法可以存储和绘制三角形纹理,而无需创建矩形缓冲区(并使用两倍的存储空间)。
(我知道我可以把很多三角形包装成一个大的矩形纹理,但是我想知道是否有办法解决这个问题,而不必浪费任何空间或编写复杂的打包算法)
答案 0 :(得分:4)
不,但您可以尝试使用这个相当简单的算法来解开像这样的纹理UV:
|\
|1\
|__\
| \
| 2 \
-------
_____
| \1|
| 2 \|
-------
创建一个矩形POT纹理,切割三角形的顶部(1)并将其放置在靠近基座(2)的自由空间中。
答案 1 :(得分:1)
这种情况的常见方法是将多个奇怪的形状打包到一个矩形纹理上(它们需要彼此分开,以便采样不会使相邻形状的颜色流血......)。如果你为三角形使用多个纹理,你也可以用这种方式打包它们。
如果你只有一个纹理,那么浪费空间可能是最简单的 - 很可能,你的应用程序不是特别耗费资源?
答案 2 :(得分:0)
据我所知,OpenGL和任何扩展都不支持您所寻找的内容。