我有一个关于 VBO 的问题。举个例子,我正在尝试构建一个体素风格的引擎,它甚至可以制作一个 16x16x16 的块。
我是否将地图信息存储在 VBO 中?如何获得立方体的顶点?我的想法是,VBO 需要 24 个 vector3 变量(每个位置的每个立方体的向量)。这似乎很多。
有没有办法拥有一个“立方体”VBO模板,然后以某种方式更改我要绘制的每个立方体的坐标,调用模板(我希望这是有道理的)并使用bufferdata为每个位置更新该模板,是吗?必须为 16x16x16 中的每个位置实际存储这 24 个向量,还是我只存储地图坐标,然后通过着色器绘制立方体和多边形?
我希望这是有道理的。加载每个位置存储 24 个向量的东西似乎很昂贵的内存,而且对我来说似乎是资源密集型的,每帧调用 bufferdata 16x16x16 次......所以使用顶点着色器的最后一个选项似乎是最可行的,但我是新手着色器所以这样的事情可能吗?
最常用的方法是什么?