В моем приложении я использую openGL ES.
Я хочу показать два изображения на экране. Первый работает в качестве фона (формат PNG, 32 бита, 1280 * 800), а второй - на переднем плане (формат PNG, 32 бита, 64 * 512).
Я могу показать оба изображения на экране, но я не знаю, почему меняется цвет изображения на переднем плане !!! картина этой проблемы:
Хотя оригинальный цвет руки - коричневый. на следующем изображении я отключил фоновое изображение, поэтому мы видим только руку с ее исходным цветом на изображении.
![enter image description here](https://i.stack.imgur.com/iyYbi.png)
подскажите пожалуйста в чем проблема и почему цвет меняется?
Большое спасибо
==========
Обновление:
некоторая часть кода:
@Override
public void onDrawFrame(GL10 gl) {
try {
Thread.sleep(ATEngine.GAME_THREAD_FPS_SLEEP);
} catch (InterruptedException e) {
e.printStackTrace();
}
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
setBackground(gl);
setHand(gl);
//All other game drawing will be called here
gl.glEnable(GL10.GL_BLEND);
gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE);
}
и метод setHand:
private void setHand(GL10 gl){
gl.glMatrixMode(GL10.GL_MODELVIEW);
gl.glLoadIdentity();
gl.glPushMatrix();
gl.glScalef(.1f, .7f, 1f);
gl.glTranslatef(4.5f, 0f, 0f);
gl.glMatrixMode(GL10.GL_TEXTURE);
gl.glLoadIdentity();
gl.glTranslatef( 0.0f, 0.0f, 0.0f);
hand.draw(gl);
gl.glPopMatrix();
gl.glLoadIdentity();
}