我正在按照本教程使用 C++ 制作 3D 游戏引擎。
我正在使用 GLM,但出现标题中的错误。
我有一个自定义结构的数组。它保存位置、颜色和文本坐标。
“顶点”结构
struct Vertex {
glm::vec3 position;
glm::vec3 color;
glm::vec2 texcoord;
};
“顶点”数组:
Vertex vertices[] = {
//POSITION
glm::vec3(0.0f, 0.5f, 0.f),
glm::vec3(-0.5f, -0.5f, 0.f),
glm::vec3(0.5f, -0.5f, 0.f),
//COLOR
glm::vec3(1.f, 0.f, 0.f),
glm::vec3(0.0f, 1.f, 0.f),
glm::vec3(0.0f, 0.f, 1.f),
//TEXCOORDS
glm::vec2(0.f, 1.f),
glm::vec2(0.f, 0.f),
glm::vec2(1.f, 0.f)
};
当我在 Visual Studio 中单击错误时,它会将我带到 Vertice 数组的末尾。
我用谷歌搜索并搜索了 Stack Overflow,但我找不到这个问题的答案。如果有帮助的话,我将完整的 main.cpp 文件存储在这里。
您声明了数组,因此每个数组元素都必须在初始化器中进行支撑。
Vertex vertices[] = {
// First element
{
glm::vec3(0.0f, 0.5f, 0.f), //POSITION
glm::vec3(1.f, 0.f, 0.f), //COLOR
glm::vec2(0.f, 1.f), // TEXTCOORD
},
// Second element
{
glm::vec3(-0.5f, -0.5f, 0.f),
glm::vec3(0.f, 1.f, 0.f),
glm::vec2(0.f, 0.f),
},
// Third element
{
glm::vec3(0.5f, -0.5f, 0.f),
glm::vec3(0.f, 0.f, 1.f),
glm::vec2(1.f, 0.f)
}
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句