2012-02-18 10 views
0

私はOpenGL ESを初めて使用しています。私が使用した数字がわからないという指標をどのように使用するのか知る必要がありますか?OpenGL ESのインデックス

答えて

2

まあ、インデックスは、頂点を描画する必要がありますどのような順序で記述するために使用されています。 多くの頂点で構成されているが、その多くが同じ点であるオブジェクトを描画する必要がある場合に便利です。

は、ですから、例えばあなたが(インデックスなし)glDrawArraysで四角形を描画したい場合には、

を持っているあなたは、一方では

//vertices 
-1,-1,0, //0 bottom left 
-1,1,0, //1 top left 
1,1,0, //2 top right 
1,-1,0 //3 bottom right 

//indices 
0   //0 bottom left 
1   //1 top left 
2   //2 top right 
2   //2 top right 
3   //3 bottom right 
0   //0 bottom left 

を持っている(インデックス付き)glDrawElementsの正方形を描きたいとき

//vertices 
-1,-1,0, //0 bottom left 
-1,1,0, //1 top left 
1,1,0, //2 top right 
1,1,0, //2 top right 
1,-1,0 //3 bottom right 
-1,-1,0, //0 bottom left 
-1

This article これは、インデックスについてのアイデアを得るのに役立ちます。コードでは、我々は、この構造を使用します。

const Vertex Vertices[] = { 
    {{1, -1, 0}, {1, 0, 0, 1}},//0 
    {{1, 1, 0}, {1, 0, 0, 1}},//1 
    {{-1, 1, 0}, {0, 1, 0, 1}},//2 
    {{-1, -1, 0}, {0, 1, 0, 1}},//3 
    {{1, -1, -1}, {1, 0, 0, 1}},//4 
    {{1, 1, -1}, {1, 0, 0, 1}},//5 
    {{-1, 1, -1}, {0, 1, 0, 1}},//6 
    {{-1, -1, -1}, {0, 1, 0, 1}}//7 
}; 

const GLubyte Indices[] = { 
    // Front 
    0, 1, 2, 
    2, 3, 0, 
    // Back 
    4, 6, 5, 
    4, 7, 6, 
    // Left 
    2, 7, 3, 
    7, 6, 2, 
    // Right 
    0, 4, 1, 
    4, 1, 5, 
    // Top 
    6, 2, 1, 
    1, 6, 5, 
    // Bottom 
    0, 3, 7, 
    0, 7, 4  
}; 
+1

これで、たくさんの頂点とインデックスを投稿しました。彼らが何であり、何をしているのかを実際に説明するためのケア?リンクは問題ありませんが、ここでコンテンツを少なくとも要約すると、回答が自己完結型になります。 – Bart

+0

ya.私が彼に番号を言いましたコメントで彼が –

+0

を要求すれば彼を説明します。 –