適用於OpenGL三維物體的紋理我有一定的項目,其中包括從過剩命名空間中的許多3D對象,如不能找到一種方法,使用C#
Glut.glutSolidCone(0.75, 30, 4, 20);
我找不到反正申請這些對象上的紋理,只有2d紋理處理2D對象。
我嘗試這個代碼,但我認爲這是錯誤的,它沒有工作,
Gl.glPushMatrix();
Gl.glEnable(Gl.GL_TEXTURE_2D);
Try.Terrain.LoadGLTextures("Textures/Sitework.Paving - Surfacing.Riverstone.jpg");
Gl.glTexCoord2d(0, 0);
Gl.glTexCoord2d(0, 1);
Gl.glTexCoord2d(1, 1);
Gl.glTexCoord2d(1, 1);
Gl.glRotated(90, 1, 0, 0);
Glut.glutSolidCone(5, 10, 30, 30);
Gl.glDisable(Gl.GL_TEXTURE_2D);
Gl.glPopMatrix();
的結果是,這個3D物體出現應用了紋理的基本顏色。
這是否意味着我不能在不使用紋理座標的情況下應用任何紋理? –
如果你不想複製'glutSolidCone()',你可以使用['glTexGen()'](http://www.opengl.org/sdk/docs/man/xhtml/glTexGen.xml)和朋友。或者是一個頂點着色器。 – genpfault
@LunaAlRawas:從長遠來看,提供紋理座標是唯一可行的事情。沒有廚房水槽算法來自動生成任意幾何圖形的紋理座標。 (雖然有一些非常好的算法,但每個算法都有其侷限性)。 – datenwolf