Самый эффективный способ хранить нормали в файлах gltf? - PullRequest
1 голос
/ 28 мая 2020

Я ищу наиболее эффективный способ хранения нормалей в файлах gltf, мы бы хотели использовать их для плоского и плавного затенения webgl 1. Есть ли поддержка разной нормальной точности? Мы предпочитаем не дублировать все вершины, чтобы иметь нормали, потому что или сетки огромны. * NORMAL "VEC3" 5126 (FLOAT) Нормализованные нормали вершин XYZ

поэтому я предполагаю, что есть единственный способ?

Спасибо за вашу помощь

1 Ответ

2 голосов
/ 28 мая 2020

Плоские нормали : Самый эффективный способ сохранить плоские нормали - полностью их опустить. Из спецификации glTF в разделе Meshes ,

«Если нормали не указаны, клиентские реализации должны вычислять плоские нормали».

Smooth normals : Вы правы, основная спецификация glTF требует, чтобы нормали использовали точность 5126 / float32. Если вам нужны другие параметры, включите расширение KHR_mesh_quantization ( extension spe c) в вашей модели, которое позволяет использовать дополнительные типы (нормализованный int16 или нормализованный int8). Библиотека gltfpack может применить эти оптимизации автоматически, или вы можете изменить модель напрямую.

...