Я не думаю, что позиция где-то между сырым OpenGL и полным движком будет эффективной. Предположим, у вас есть возможность управлять объектами OpenGL, такими как шейдеры, буферы, текстуры и другие.
- Вам все еще понадобится логика загрузки, чтобы получить входные данные откуда-то. У двигателя это есть.
- Вам понадобятся инструменты для создания шейдеров и тестирования сцен. Двигатель должен иметь его.
- Вы столкнетесь со скрытыми ошибками о несовместимых атрибутах вершин - шейдерах - единообразных параметрах. Движок должен проверить последовательность и плавно связать эти экземпляры.
Отсюда мой вывод: как только вы решили двигаться вперед от необработанного GL, вы в конечном итоге окажетесь в двигателе. Либо в долгосрочной перспективе, если вы делаете это самостоятельно, либо в краткосрочной перспективе, если вы берете существующий.
Более того, я думаю, что движок должен предоставить вам возможность создавать шейдерные программы и визуализировать буферы так, как вы хотите. И я не ожидаю больших накладных расходов от этих операций.