В этой статье описывается, как рисовать четкую 2D-графику OpenGL, используя фиксированный конвейер функций.
Поскольку в OpenGL ES 2.0 некоторые функции ES 1.x недоступны (например, glOrtho ()), их функциональность должна быть заменена в шейдерах Fragment / Vertex.
Мой вопрос, как настроить следующую 2D-проекцию в конвейере программируемой функции?
const XSize = 640, YSize = 480
glMatrixMode (GL_PROJECTION)
glLoadIdentity ();
glOrtho (0, XSize, YSize, 0, 0, 1)
glMatrixMode (GL_MODELVIEW)
Как должны быть настроены Фрагментные и Вершинные шейдеры, чтобы полностью заменить вышеупомянутую фиксированную функцию 2D проекции?
источник
Из документа glOrtho, с замененными значениями:
Сохраните эту матрицу в униформе, и затем вы сможете применить ее (т.е. сделать произведение M. V) к вашим входящим позициям вершин.
источник