Я написал движок, который умеет рисовать с помощью OpenGL ESv2 или OpenGL 3 Core Profile API.
Но недавно часть OpenGL 3 сломалась, и я не могу вспомнить, что я изменил, и я не могу посмотреть в svn commitlog, потому что я разместил его на bountysource, который сейчас недоступен, и перенес его в Google (но с поврежденным портом OGL3 ).
С OpenGL ESv2 все работает нормально, но с OpenGL 3 все растягивается и отражается по горизонтали. Оба даже используют одни и те же матрицы и вершины.
Не путайся. Рендереры OpenGL ESv2 и OpenGL 3 используют разные способы его рендеринга.
OpenGL ESv2 использует VBO.
OpenGL 3 использует VAO и VBO.
Мой движок с открытым исходным кодом, поэтому вы можете посмотреть его здесь: Исходный код .
Это должны быть важные части: Класс Sprite , Класс базового окна , Класс окна GL3 , Класс окна GL ESv2
Шейдеры:
GLv2: фраг , верт
GL3: фраг , верт
Вот несколько примеров изображений:
Я был бы очень, очень рад и благодарен, если бы кто-нибудь дал мне решение этой проблемы, и, возможно, я бы дал небольшую награду за это.
редактирование:
с окном 480x800 gldebugger показывает эту матрицу:
modviewmat
{1, -0, 0, 0}
{0, 1, 0, 0}
{0, 0, 1, 0}
{5, 770, 0, 1}
projmat
{2, 0, 0, 0}
{0, 2, 0, 0}
{0, 0, -1, 0}
{-1, -1, -0, 1}