Я новичок в OpenGL ES 1.1 для iPhone. Сегодня я попытался нарисовать текстуру png на черном фоне (текстура включает альфа-канал), но результат отличается от исходного png-файла.iPhone - OpenGL ES 1.1 - Alpha Blend делает текстуру неправильным цветом
Результат на iPhone & Simulator:
Выключайте освещение:
Это должно быть (Ярче & более размытый):
Источник Texture файла:
Это исходный код я использую:
//Setup:
glEnable(GL_ALPHA_TEST);
glEnable(GL_BLEND);
glAlphaFunc(GL_GREATER,0.01);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
static const GLfloat light0Ambient[] = {1.0, 1.0, 1.0, 1.0};
static const GLfloat light0Diffuse[] = {1.0, 1.0, 1.0, 1.0};
static const GLfloat light0Position[] = {0.0, 0.0, 10.0};
glLightfv(GL_LIGHT0, GL_AMBIENT, (const GLfloat *)light0Ambient);
glLightfv(GL_LIGHT0, GL_DIFFUSE, (const GLfloat *)light0Diffuse);
glLightfv(GL_LIGHT0, GL_POSITION, (const GLfloat *)light0Position);
glEnable(GL_TEXTURE_2D);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
Drawing Код:
glBindTexture(GL_TEXTURE_2D, OYTextID);
glVertexPointer(3, GL_FLOAT, 0, GUI_Vertices);
glNormalPointer(GL_FLOAT, 0, GUI_Normals);
glTexCoordPointer(2, GL_FLOAT, 0, GUI_TexCoords);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
В чем проблема сделать цвет идет не так ??
Спасибо за чтение, я ценю любую помощь. Best Regard & извините за мой английский.
Вы пробовали рисовать это с выключенным освещением? Любая разница? – Mark
glBlendFunc кажется ОК ... Попробуйте выключить свет, как предложил Марк. – Beppe
Спасибо Beppe & Mark, я попытался выключить свет, но это не решило проблему! Пожалуйста, посмотрите изображение с обновлением :( –