我没有使用OpenGL的经验(我的问题证明了这一点),但我需要一个小小的snipplet来解决问题。我有一个网格,一个正方形,我需要应用2个纹理:1个FrontSide和1个BackSide。 这是应用纹理frontside的代码:
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个不同的纹理1前侧和1个后侧? 2]有人可以张贴小贴士或指出教程或其他材料吗? 感谢。
答案 0 :(得分:2)
由于您似乎没有使用着色器,因此您可以做的最简单的事情就是使用背面剔除。使用一个面剔除渲染对象,然后更改纹理并使用渲染的相对面渲染它。