Как я могу использовать python в Blender Game Engine (2.5+) для сохранения буфера глубины и цветового буфера для хранения каждого кадра?

Мне нужно сохранять буфер цвета и буфер глубины данной камеры в сцене в Blender Game Engine каждый кадр в файл (каждый в свой файл). Это возможно? Как это можно настроить с помощью BGE и python?

Я спрашивал на форуме Blender Artists, но, похоже, никто не поднял вопрос.

1 ответ

Решение

Сохранение кадрового буфера в файл - очень медленная операция. Итак, я собираюсь предположить, что вам не нужно делать это в режиме реального времени... Итак, вам нужно будет установить два набора шейдеров. Один, который является вашим обычным цветным шейдером, и другой, который отображает глубину объекта как цвет. Затем вы дважды визуализируете свою сцену с обоими наборами шейдеров. Оттуда у вас есть два варианта...

  1. Используйте BGL.glReadPixels, чтобы прочитать изображение экрана каждый кадр и экспортировать их вручную.
  2. Переключитесь на стандартный рендер Blender и визуализируйте анимацию с обоими наборами шейдеров.
Другие вопросы по тегам