Текстурирующая сетка OpenGL FrontSide и BackSide - PullRequest
0 голосов
/ 27 августа 2011

У меня нет опыта работы с 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] Кто-нибудь может опубликовать фрагмент или указать учебник или другой материал?
Спасибо.

1 Ответ

2 голосов
/ 27 августа 2011

Поскольку вы, похоже, не используете шейдеры, самое простое, что вы можете сделать, - это использовать выборку задней поверхности в своих интересах.Рендеринг объекта выполняется с использованием одной грани лица, затем измените текстуру и отрендерите ее с помощью визуализации противоположных граней.

...