如何存储/渲染2D四边形?

OpenGL: How should 2D quads be stored/rendered?

本文关键字:渲染 2D 四边形 何存储 存储      更新时间:2023-10-16

我将我的模型数据存储在VBO/ibo中,并使用vao渲染它们,我理解这是通常如何完成的。

但是我有非模型四边形是为2D精灵和GUI生成的,它只包含4个顶点。这些四边形的位置很少是相同的(除非它是GUI的一部分),并且UV坐标每帧都在变化。此外,在任何时候屏幕上都有大量,至少超过一千个。

我想知道,什么是最好的方式来传输单四轴到GPU和渲染它们?

为每个VBO分配一个VBO感觉有点过分,并且将它们聚集到每个帧创建/销毁的单个新VBO中,同样看起来很极端。但我能想到的唯一其他方法是使用即时模式,自从它贬值以来我一直在避免使用。

你绝对可以把你所有的四分之一到一个单一的vbo和画一个当你想要的。