我正在尝试创建一个由块组成的小“世界”,类似于体素引擎,但有点不同。
为此,我考虑创建一个类,比如说Block
,它有一个方法draw()
。让我们把 a 想象Block
成一个长方体。然后我可以Block
通过它的长度、宽度、高度来表征每一个,并通过模型矩阵为一个固定的顶点数组(即以原点为中心的单位立方体)缩放它来绘制它。
GLfloat
我的问题是:声明这个由 8 个类型的顶点(即 24GLfloat
个条目)组成的数组的最佳方法是什么。由于我可能有很多块,我希望数组只保存一次,并且每个实例Block
都应使用这个确切的数组,而不是随身携带每个Block
. 实现这一目标的最佳方法是什么?由于我对此很陌生,因此我无法真正理解是否static
或const
(或两者兼而有之?)在这里会有所帮助。我想过做
const GLfloat unit_cube_vertices = { ... };
class Block
{ ... };
有更好/规范的方法吗?