OpenGL ES アプリに次の Vertex 構造体があります。
typedef struct Vertex {
float Position[3];
float Color[4];
} Vertex;
次に、ヘッダーで次のように宣言します。
Vertex *Vertices;
次に、私のinitメソッドで:
int array = 4;
Vertices = (Vertex *)malloc(array * sizeof(Vertex));
その後、メッシュを次のように設定します。この場合、頂点配列には 4 つの頂点があります。
- (void)setupMesh {
int count = 0;
for (VerticeObject * object in verticesArray) {
Vertices[count].Position[0] = object.x;
Vertices[count].Position[1] = object.y;
Vertices[count].Position[2] = object.z;
Vertices[count].Color[0] = 0.9f;
Vertices[count].Color[1] = 0.9f;
Vertices[count].Color[2] = 0.9f;
Vertices[count].Color[3] = 1.0f;
count ++;
}
}
ここで私が間違っていることを誰でも見つけることができますか? この Vertices オブジェクトを OpenGL に渡すと何も描画されませんが、Vertices 配列を次のようにハードコーディングすると:
Vertex Vertices [] = {
{{0.0, 0.0, 0}, {0.9, 0.9, 0.9, 1}},
{{0.0 , 0.0 , 0}, {0.9, 0.9, 0.9, 1}},
{{0.0, 0.0, 0}, {0.9, 0.9, 0.9, 1}},
{{0.0, 0.0, 0}, {0.9, 0.9, 0.9, 1}},
};
すべてが機能しますか?