0
我没有OpenGL的经验(和我的问题证明这一点),但我需要一个小小的snipplet来解决问题。我有一个网格,一个正方形,我需要应用2个纹理:1个FrontSide和1个BackSide。 这是应用纹理前端代码:OpenGL纹理网格FrontSide和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]有人可以发布小窍门或指示教程或其他材料?
谢谢。
将纹理更改为rander的解决方案不是解决方案,因为网格是“灵活的”sqare,并且可以同时看到两侧。所以唯一的其他解决方案是使用着色器? – Neo1975
@ Neo1975:根据定义,三角形是平面的。你只能看到任何单个三角形的一面。因此,用一个面部剔除渲染的三角形将不会与另一个渲染。因此,您可以保证能够像我所描述的那样渲染网格,因为网格中的每个三角形组件都只能在两次传递中的一个中可见。 –
@Nicole你说得对。我必须对此进行调查。你的粉丝建议读些什么吗?通过其他乐队你是否使用同一坐标的2个方格可以解决我的问题? – Neo1975