OpenGL: Как оптимизировать прорисовку
Что оптимизировать: Предполагается смещать позицию наблюдателя перемещением мышки [COLOR="DimGray"](кладовщик ходит по складу)[/COLOR]. Картинка должна двигаться плавно. Ячеек может быть нескольк сотен.
У кого есть опыт?
- Ячейки состоят как минимум из трех частей. Каркас - куб (прорисованный линиями), дно (заполненный квадрат), задняя стенка (заполненный квадрат).
- Ячейка может находиться справа от или слева прохода. Отличаются только положением задней стенки.
- Ячейка может иметь четыре степени заполнения: пустая, заполненная менее чем на 50% объема, более чем на 50% или полная. Т.е. внутри прорисовывается параллелепипед разной высоты.
Вопрос: как построить систему примитивов? Контур отдельно, стороны отдельно, заполненность отдельно? Или полностью сформированный тип ячейки, например "Правая+Почти_Пустая"? Или же с точки зрения скорости прорисовки это одно и тоже?
На самом деле, логичнее рисовать всю ячейку целиком, потому что тогда есть возможность проверить это ячейку на видимость. Можно, конечно, и в других случаях проверять ее на видимость. Но так будет быстрее. А что сложного-то. Я не понимаю. Создай класс (ну, или хотя бы структуру) описывающую ячейку. Сдлай массив таких ячеек. И потом по параметрам выводи весь массив ячеек на экран.