0

我没有使用 OpenGL 的经验(我的问题证明了这一点),但我需要一些小技巧来解决问题。我有一个网格,一个正方形,我需要应用 2 个纹理:1 个 FrontSide 和 1 个 BackSide。这是应用纹理前端的代码:

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]有人可以发布snipplet或指示教程或其他材料?
谢谢。

4

1 回答 1

2

由于您似乎没有使用着色器,因此您可以做的最简单的事情就是使用背面剔除来发挥您的优势。使用一个面剔除渲染对象,然后更改纹理并使用正在渲染的相反面进行渲染。

于 2011-08-27T11:36:41.573 回答