我正在学习 OpenGL。目前我知道如何使用 VBO 定义原语。我实现了简单的网格类,并从这个类中实现了一些像 Square 这样的原语。现在我想学习定义颜色的好方法。我正在考虑使用着色器。我的想法是得到这样的东西。
class ColorShader{
public:
static GLuint red = LoadShaders( "SimpleVertexShader.vertexshader", "red.fragmentshader" );
};
但我不确定这是否是个好方法。我认为这种方法的优点是我将为每个三角形减少 30-50% 的内存。但减号是我需要准备更多的碎片着色器。
VertexColor 给了我更多的权力来定义对象,但它消耗更多的内存,我不喜欢在同一个地方设置颜色和顶点的想法。