Я использую мобильную платформу Android с OpenGL ES 2.0.
Когда я делаю такую текстуру, текстуры в моей сцене рисуются правильно
//Generate there texture pointer
GLES20.glGenTextures(1, textureHandle, 0);
// parameters - we have to make sure we clamp the textures to the edges!!!
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureHandle[0]);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S,GLES20.GL_CLAMP_TO_EDGE);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T,GLES20.GL_CLAMP_TO_EDGE);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER,GLES20.GL_LINEAR);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER,GLES20.GL_LINEAR);
Однако я хочу иметь возможность прокручивать текстуру, и я считаю, что установка режима обтекания на GLES20.GL_REPEAT сделает необходимые вычисления более возможными. Тем не менее, при использовании кода, такого как ниже.
//Generate there texture pointer
GLES20.glGenTextures(1, textureHandle, 0);
// parameters - we have to make sure we clamp the textures to the edges!!!
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureHandle[0]);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S,GLES20.GL_REPEAT);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T,GLES20.GL_REPEAT);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER,GLES20.GL_LINEAR);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER,GLES20.GL_LINEAR);
Каждая текстура черная. Единственное отличие, которое я сделал здесь, - это установка имени параметра GLES20.GL_REPEAT в вызове GLES20.glTexParameteri. Это кажется действительно странным. У кого-нибудь есть какие-нибудь идеи, которыми можно поделиться?
Я ценю любую помощь.
Спасибо.