存储指针数组和大小的结构

时间:2014-02-08 23:19:42

标签: objective-c arrays pointers opengl-es struct

我刚刚开始为iPhone学习OpenGL ES,我想创建一些自定义方法,以GLfloat数组的形式生成我自己的顶点,这些顶点必须作为GLfloat *传递指针。

在方法:glBufferData(GL_ARRAY_BUFFER, sizeof(gCubeVertexData), gCubeVertexData, GL_STATIC_DRAW);中,有必要获取数组的大小,所以我想传入自定义数组的大小。我知道这对指向数组的指针是不可能的,但我也知道有几种解决方法。

我想到的就是使用一个带有数组内部结构的结构:

#ifndef QuickBlueprint_GLfloatWithSize_h
#define QuickBlueprint_GLfloatWithSize_h

typedef struct {
    GLfloat *vertices;
    NSUInteger size;
} GLfloatWithSize;

#endif

然后在我的课堂上使用它:

@interface MeasurableObject : NSObject

@property(nonatomic, assign) double length;
@property(nonatomic, assign) double width;
@property(nonatomic, assign) double height;
@property(nonatomic, assign) GLfloatWithSize vertices;

@end

然后,我将有一个构造函数,它相对于verticesGLfloatWithSizelength字段初始化width内的height数组,并将该对象的size设置为sizeof(vertices)

有更好的方法吗?

0 个答案:

没有答案