Вот как я включаю ортопроекцию после рисования 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 правильно перекрывают трехмерные объекты альфа-каналом, но альфа-канал Quad1 не работает при нахождении поверх Quad2.Он рисует поверх Quad2, как только RGB.
Как я могу решить эту проблему?