Закончил перенос базового функционала графического движка Trickrig на работу с библиотекой GLFW. В целом, затея по переходу была не напрасной. В результате полной переработки всего приложения модуль формирования трехмерной графики стал более гибким и быстрым.

Пришло более ясное понимание методов работы с OpenGL, растет опыт написания кода на С++. Есть уверенное продвижение в плане производительности. Если раньше у меня 1 миллион вершин (250 тысяч текстурированных прямоугольников по 4 вершины) забирали больше гига оперативки и “убивали” программу под Linux, то теперь программа при наличии сцены из более чем 2 миллионов вершин (360 тыс. прямоугольников по 6 вершин) показывает скорость отрисовки графики 64 FPS и демонстрирует комфортную отзывчивость. А под Linux 3 миллиона вершин уверенно отображаются за 52 FPS! При этом в оперативной памяти компьютера программа занимает менее 150 мегабайт. Думаю, что это уже неплохая основа для дальнейшей работы.

В текущй версии отрисовка сцены производится через вызов метода “glDrawArrays” и работает с данными, размещенными в оперативной памяти приложения. В планах по дальнейшему развитию переход на отрисовку из памяти GPU c использованием методов VAO. Это если получится сконструировать код, который позволил бы частично изменять уже загруженные в графическую память данные без “перезаливки” всей сцены.