Как я могу использовать python в Blender Game Engine (2.5+) для сохранения буфера глубины и цветового буфера для хранения каждого кадра?
Мне нужно сохранять буфер цвета и буфер глубины данной камеры в сцене в Blender Game Engine каждый кадр в файл (каждый в свой файл). Это возможно? Как это можно настроить с помощью BGE и python?
Я спрашивал на форуме Blender Artists, но, похоже, никто не поднял вопрос.
1 ответ
Решение
Сохранение кадрового буфера в файл - очень медленная операция. Итак, я собираюсь предположить, что вам не нужно делать это в режиме реального времени... Итак, вам нужно будет установить два набора шейдеров. Один, который является вашим обычным цветным шейдером, и другой, который отображает глубину объекта как цвет. Затем вы дважды визуализируете свою сцену с обоими наборами шейдеров. Оттуда у вас есть два варианта...
- Используйте BGL.glReadPixels, чтобы прочитать изображение экрана каждый кадр и экспортировать их вручную.
- Переключитесь на стандартный рендер Blender и визуализируйте анимацию с обоими наборами шейдеров.