OpenGL纹理网格正面和背面

OpenGL纹理网格正面和背面,opengl,mesh,texturing,Opengl,Mesh,Texturing,我没有OpenGL的经验(我的问题证明了这一点),但我需要一个小snipplet来解决一个问题。我有一个网格,一个正方形,我需要应用2个纹理:1个正面和1个背面。 这是应用纹理正面的代码: mTextureIds = new int[1]; gl.glGenTextures(1, mTextureIds, 0); // Set texture attributes. gl.glBindTexture(GL10.GL_TEXTURE_2D, mTextureIds[0]); gl.glTexPar

我没有OpenGL的经验(我的问题证明了这一点),但我需要一个小snipplet来解决一个问题。我有一个网格,一个正方形,我需要应用2个纹理:1个正面和1个背面。 这是应用纹理正面的代码:

mTextureIds = new int[1];
gl.glGenTextures(1, mTextureIds, 0);
// Set texture attributes.
gl.glBindTexture(GL10.GL_TEXTURE_2D, mTextureIds[0]);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE);
gl.glBindTexture(GL10.GL_TEXTURE_2D, mTextureIds[0]);
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, mBitmapFrontSide, 0);
gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, mTexCoords);
有人能帮我吗?
1] 是否可以应用两种不同的纹理,一种正面,一种背面?
2] 有人可以发布剪贴画,或指明教程或其他材料?

谢谢。

因为您似乎没有使用着色器,所以最简单的方法就是使用背面消隐。使用一个面剔除渲染对象,然后更改纹理并使用渲染的相反面进行渲染。

将纹理更改为rander的解决方案不是解决方案,因为网格是一个“灵活”的sqare,可以同时看到两侧。所以唯一的解决方案是使用着色器?@Neo1975:根据定义,三角形是平面的。你只能看到任何一个三角形的一面。因此,使用一个面剔除渲染的三角形不一定使用另一个面剔除渲染。因此,您可以保证能够按照我所描述的那样渲染网格,因为网格的每个三角形组件只在两个过程中的一个过程中可见。@Nicole您是对的。我必须对此进行调查。你有什么建议吗?用另一个波段你能用两个相同坐标的正方形解决我的问题吗?