Вот как я включаю ортопроекцию после рисования 3D-объектов:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0,Screen_Width,Screen_Height,0,0,1);
А вот как я включаю смешивание и отрисовываю текстуры в орто после отрисовки 3D-объектов:
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
glColor4f(1,1,1,1);
glBindTexture(GL_TEXTURE_2D,Texture1);
glBegin(GL_QUADS);
//draw 1st quad
glEnd();
glBindTexture(GL_TEXTURE_2D,Texture2);
glBegin(GL_QUADS);
//draw 2nd quad
glEnd();
glDisable(GL_BLEND);
glDisable(GL_TEXTURE_2D);
Quad1 немного больше, чем Quad2, и покрывает некоторые части Quad2. Обе текстуры имеют альфа-канал как RGBA.
Проблема в том, что Quad1 и Quad2 правильно накладывают 3D-объекты с альфа-каналом, но альфа Quad1 не работает, когда он находится поверх Quad2. Он рисует поверх Quad2, как только RGB.
Как я могу решить эту проблему?