为OpenGL更改类中C-Struct的值 - 目标C.

时间:2013-10-16 09:46:29

标签: ios objective-c opengl-es opengl-es-2.0

我的对象类中有以下硬编码顶点信息,用于OpenGLES 2.0:

typedef struct {
float Position[3];
float Color[4];
} Vertex;

static Vertex Vertices [] = {
{{0.0, -0.0, 0}, {1, 0, 0, 1}},
{{0.0 , 50 , 0}, {1, 0, 0, 1}},
{{-50.0, 50.0, 0}, {1, 0, 0, 1}},
{{-50.0, -0.0, 0}, {1, 0, 0, 1}}
};

static GLubyte Indices []= {
0, 1, 2,
2, 3, 0
};

我想要做的是修改这个类,以便在实例化类时可以设置顶点信息。到目前为止,我已尝试在实现中声明并公开对象:

@interface StandObject : NSObject {
Vertex * Vertices;
}

@property (nonatomic, assign) Vertex * Vertices;

在.m文件中

@synthesize Vertices;

然后我尝试按如下方式设置顶点,但我认为这里的格式错误:

Vertices[0].Position = {0.0, -0.0, 0};

任何人都可以就实现这一目标的最佳方式提出任何建议吗?如果我选择合适的话?

1 个答案:

答案 0 :(得分:0)

尝试这样做:

Vertices[0].Position[0] = 0.0;
Vertices[0].Position[1] = -0.0;
Vertices[0].Position[2] = 0;

也许这不是更清洁的解决方案,但它会起作用