0
我有一个由4个向量组成的结构,我用它来创建一个矩形。其中一个矩阵定义矩形的颜色。每次我绘制一个矩形,我需要更新它的颜色。问题是,我不知道如何更新这部分结构。谁能帮忙?谢谢!修改OpenGL矩阵的结构
typedef struct {
GLKVector3 positionCoordinates;
GLKVector2 textureCoordinates;
GLKVector3 normalCoordinates;
GLKVector4 colorCoordinates;
} VertexData;
VertexData unitSquare[] = {
{ {-0.5f, -0.5f, 0.0f}, {0.0f, 0.0f}, { 0.0f, 0.0f, 1.0f}, {0.0f, 0.0f, 1.0f, 1.0f} },
{ { 0.5f, -0.5f, 0.0f}, {0.0f, 0.0f}, { 0.0f, 0.0f, 1.0f}, {0.0f, 0.0f, 1.0f, 1.0f} },
{ {-0.5f, 0.5f, 0.0f}, {0.0f, 0.0f}, { 0.0f, 0.0f, 1.0f}, {0.0f, 0.0f, 1.0f, 1.0f} },
{ {-0.5f, 0.5f, 0.0f}, {0.0f, 0.0f}, { 0.0f, 0.0f, 1.0f}, {0.0f, 0.0f, 1.0f, 1.0f} },
{ { 0.5f, -0.5f, 0.0f}, {0.0f, 0.0f}, { 0.0f, 0.0f, 1.0f}, {0.0f, 0.0f, 1.0f, 1.0f} },
{ { 0.5f, 0.5f, 0.0f}, {0.0f, 0.0f}, { 0.0f, 0.0f, 1.0f}, {0.0f, 0.0f, 1.0f, 1.0f} }
};
- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect {
...
// lame attempt to update the color of one vertex
unitSquare->colorCoordinates[0] = {0.0f, 0.0f, 0.0f, 1.0f};
...
}
感谢您的所有建议。当我将代码更改为您的建议时,出现错误“预期表达式”。任何想法为什么这是? – Alex
用“。”代替“ - >”。为我工作。因为你没有创建指针数组 - “ - >”相当于取消引用一个指向结构体的指针,然后使用“。”。运营商。 –
我也意识到 - >操作符的滥用,但那是当我得到错误。我无法弄清楚为什么我会得到这个错误,甚至错误的含义。 – Alex