2011-03-17 54 views
0

我已經從蘋果網站下載了GLGravity項目。我嘗試加載一個新的模型來顯示,而不是茶壺。該模型正在加載,但未使用定義的紋理。在GLGravity Iphone項目中加載具有紋理的模型

我想使用下面的代碼顯示模型,但無法顯示紋理。

//在setupView函數

glEnableClientState(GL_VERTEX_ARRAY); 
glEnableClientState(GL_NORMAL_ARRAY); 
glEnableClientState(GL_TEXTURE_COORD_ARRAY); 

glVertexPointer(3, GL_FLOAT, 0, camaro_objVerts); 
glNormalPointer(GL_FLOAT, 0, camaro_objNormals); 
glTexCoordPointer(2, GL_FLOAT, 0, camaro_objTexCoords); 

在drawView函數

// draw data 
glDrawArrays(GL_TRIANGLES, 0, camaro_objNumVerts); 

我自己也嘗試禁用閃電,但與白色,沒有紋理加載模型。

+0

你如何設置你的紋理?也就是說,你的'glBindTexture()'調用的代碼是什麼樣的? – 2011-03-17 15:18:43

回答

1

你已啓用GL_TEXTURE_2D?它應該看起來像這樣(+紋理綁定):

glBindTexture(GL_TEXTURE_2D, textureHandle); 
glEnable(GL_TEXTURE_2D); 
+0

我有一個3d模型。我已經使用obj2opengl.pl將「.obj」,「.mtl」文件轉換爲「.h」文件。 – Hanuman 2011-03-17 14:12:26

+0

可否請您指出一些方向,我可以加載一個頭文件與所有垂直,法線,文本座標與材料文件從不同的圖像加載紋理。 – Hanuman 2011-03-18 07:18:57

+0

@Hanuman:我不知道蘋果如何從.h文件加載數據,它也不是真正的格式。但是,有些例子可以覆蓋加載紋理,但您必須自己加載它。而且.mtl文件的材料不能很容易地應用,你必須編寫一些解析器來創建一個着色器(或者嘗試通過ffp來模擬它,這取決於你使用的是什麼類型的渲染器) – JustSid 2011-03-18 13:25:24