Может ли OpenSceneGraph использовать меньше байтов для цветов RGB?

Я загружаю большое цветное облако точек в OpenSceneGraph используя Vec4Array для каждой вершины для цветов. Это очень неэффективно в памяти, требуя 16 байтов информации о цвете на вершину, где я хотел бы хранить 4 или меньше. Наборы данных, с которыми я имею дело, огромны, так что это серьезная проблема.

Можно ли как-нибудь заставить OpenSceneGraph использовать цвета с меньшим разрешением (например, 24 бит цвета более чем достаточно)?

2

Решение

Вы можете использовать атрибуты Vertex и шейдер для кодирования XYZ и цвета в любое количество битов, а затем декодировать их обратно в шейдер. Но кроме этого OpenGL (и OSG) не дает вам большой гибкости.

Многие игровые архитектуры (консоли и мобильные устройства используют 16-битную схему 5-6-5 RGB битового кодирования).

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]