我對OpenGL有點新鮮。我正在製作一個2D應用程序,並且我定義了一個Quad類,它定義了一個帶有紋理的正方形。它從紋理圖集中加載這些紋理,並正確執行此操作。一切正常紋理的作品,紋理正確顯示,但紋理圖像不是正方形時不正確顯示。例如,我想要一個Quad具有明星紋理,並且要顯示星星,並且仍然位於Quad中的星形圖像周圍的區域是透明的。但最終發生的事情是這顆恆星顯示出來很好,然後是我的紋理圖集中的另一個紋理,它填充了Quad。我認爲它背後的紋理只是我加載到系統中的最後一個紋理?無論哪種方式,我不希望那個紋理顯示出來。OpenGL非方形紋理
這是我的意思。我想明星,但不是雲十歲上下的紋理背後顯示出來:
我的渲染功能的重要組成部分是:
glDisable(GL_CULL_FACE);
glVertexPointer(vertexStride, GL_FLOAT, 0, vertexes);
glEnableClientState(GL_VERTEX_ARRAY);
glColorPointer(colorStride, GL_FLOAT, 0, colors);
glEnableClientState(GL_COLOR_ARRAY);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textureID);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, uvCoordinates);
//render
glDrawArrays(renderStyle, 0, vertexCount);
非方形紋理呢?這似乎是一個混合相關的問題。問題標題有誤導性...... – Luca 2011-05-03 19:00:06