В этом семестре я прошел курс компьютерной графики в своем университете. На данный момент мы начинаем входить в некоторые более продвинутые вещи, такие как карты высот, усреднение нормалей, тесселяция и т.д.
Я исхожу из объектно-ориентированного фона, поэтому я пытаюсь поместить все, что мы делаем, в классы многократного использования. У меня был хороший успех, создав класс камеры, поскольку он в основном зависит от одного вызова gluLookAt(), который практически не зависит от остальной части конечного автомата OpenGL.
Однако у меня проблемы с другими аспектами. Использование объектов для представления примитивов для меня не очень удалось. Это связано с тем, что фактические вызовы визуализации зависят от многих внешних вещей, таких как связанная текстура и т.д. Если вы вдруг захотите перейти от нормальной поверхности к нормальной вершине для определенного класса, она вызывает сильную головную боль.
Я начинаю задаваться вопросом, применимы ли принципы OO в кодировании OpenGL. По крайней мере, я думаю, что я должен сделать уроки менее гранулированными.
Каковы представления сообщества на этом? Каковы ваши лучшие методы для кодирования OpenGL?