Проецируй это

Нарисовав красный чайник в 3D, я считаю своим долгом кратко описать как это делается.

Современный OpenGL не рисует 3D, он рисует только треугольники, точки, и пр. в 2D координатах экрана.
Чтобы вывести с помощью OpenGL хоть что-то, нужно предоставить вертексный буфер, написать вертексный шейдер, добавить в вертексный шейдер все необходимые матрицы (проекция, модель, вью), связать все входные данные с шейдером, вызвать метод отрисовки в OpenGL. Выглядит просто?


Ок, что такое вертексный буфер? Список координат которые необходимо отрисовать (x, y, z)
Вертексный шейдер говорит GPU какие координаты нужно рисовать.
Пиксельный шейдер говорит что рисовать (цвет, текстуру, блендинг и тд.)
Матрицы транслируют 3D координаты в 2D координаты OpenGL которые он может отрисовать

В следующих статьях я приведу примеры кода и результат.