Портирование кода OpenGL между языками и платформами GUI не должно сильно менять код. Например, при переходе от GLUT к Qt вы перемещаете код изменения формы GLUT в функцию resizeGL QGLWidget, а функцию отображения GLUT - в функцию paintGL QGLWidget. Это самое большое изменение от GLUT к Qt, помимо настроек.
Кроме того, все в значительной степени привязано к небольшому количеству бонусных утилит и классов. Вы в основном должны искать класс, когда вам это нужно. Например, «Я собираюсь использовать шейдер, так что давайте посмотрим, есть ли в Qt какие-либо вспомогательные классы». Вы найдете класс с именем QGLShader, который, кажется, помогает, но у него нет никакой документации, поэтому вы должны попробовать другой класс, который может иметь документацию, такую как QGLShaderProgram.
http://doc.trolltech.com/4.6/qglshaderprogram.html#details
Если перейти к деталям, то приведем пример / руководство по его использованию и классу QGLShader.
Для небольших классов, таких как векторы и матрицы, вам нужно просто прочитать документацию по их функциям, что достаточно просто. Векторы, например, имеют класс QVector3. Я могу посмотреть на его страницу класса и увидеть, что она обладает нормальной функциональностью, которую я ожидал бы в векторном классе, таком как нормализация, добавление и т. Д. Учебник по чему-то так простому мне не очень помог бы.
По моему опыту, это стандартный способ использования оберток в OpenGL. В JOGL, например, есть большой класс Texture, который полезен для текстуры io. Когда мне нужно было добавить текстуры, я нашел это, просто выполнив поиск по «текстуре» в javadoc.