2012-02-19 11 views
0

Jeff LaMarche .hエクスポートスクリプトを使用してエクスポートされたブレンダーイメージがあります。私はOpenGL ES 1.1でレンダリングしようとしています。頂点、法線、テクスチャ座標を正しく渡しているとは思わない。誰かが私を助けることができますか?ここに私が持っているものがあります。レンダリング.h Blender OpenGL ES 1.1を使用してiPhoneにエクスポート

これは頂点などを持つ.hファイルです。

struct vertexDataTextured 
{ 
    GLKVector3  vertex; 
    GLKVector3  normal; 
    GLKVector2  texCoord; 
}; 
typedef struct vertexDataTextured vertexDataTextured; 
typedef vertexDataTextured* vertexDataTexturedPtr; 


static const vertexDataTextured MeshVertexData[] = { 
    {/*v:*/{0.351562, 0.828125, -0.242188}, /*n:*/{0.183599, 0.982971, 0.005310}, /*t:*/{0.199397, 0.671493}}, 
    {/*v:*/{0.445312, 0.781250, -0.156250}, /*n:*/{0.715171, 0.222724, 0.662465}, /*t:*/{0.216226, 0.665719}}, 
    {/*v:*/{0.476562, 0.773438, -0.242188}, /*n:*/{0.964446, 0.263863, 0.012665}, /*t:*/{0.216737, 0.679097}}, 
    {/*v:*/{-0.476562, 0.773438, -0.242188}, /*n:*/{-0.964446, 0.263863, 0.012665}, /*t:*/{0.052251, 0.677297}}, 
    {/*v:*/{-0.445312, 0.781250, -0.156250}, /*n:*/{-0.715171, 0.222724, 0.662465}, /*t:*/{0.053356, 0.663955}}, 

...

とここに私の描画コード

です...

glClearColor(1.0f, 1.0f, 0.0f, 1.0f); 
glClear(GL_COLOR_BUFFER_BIT); 


glMatrixMode(GL_MODELVIEW); 
glLoadIdentity(); 
glTranslatef(0.0f,-0.3f,-0.5f); 


glVertexPointer(3, GL_FLOAT, 0, MeshVertexData); 
glEnableClientState(GL_VERTEX_ARRAY); 


glNormalPointer(GL_FLOAT, 0 , MeshVertexData); 
glEnableClientState(GL_NORMAL_ARRAY); 


glEnable(GL_TEXTURE_2D);            
glEnable(GL_BLEND);             

glTexCoordPointer(2, GL_FLOAT,0,MeshVertexData);      
glEnableClientState(GL_TEXTURE_COORD_ARRAY);       

glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); 
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); 

//glTranslatef(0.0f,-1.0f,-1.5f); 

glDrawArrays(GL_TRIANGLES, 0, sizeof(MeshVertexData)/ sizeof(vertexDataTextured));        



glDisableClientState(GL_VERTEX_ARRAY); 
glDisableClientState(GL_NORMAL_ARRAY); 
glDisableClientState(GL_TEXTURE_COORD_ARRAY); 

私の画面はどこにでも三角形を投げたように基本的には見えます。このN00Bのためのどんな助けもありがとうございます。ありがとう

答えて

1

あなたはストライドを0に設定しています。これはsizeof (vertexDataTextured)です。 OpenGLに、1つの頂点(または通常のテクスチャ座標)と次のテクスチャ座標の間にあるバイト数を通知します。

関連する問題