Доступна оплата с международных карт Visa, MasterCard, Discover и American Express.

CyberKoala

Образовательная платформа с онлайн-интенсивами. XR туториалы | Разработка VR/AR приложений и игр. Создание фиджитал инструментов и внедрение VR арен для бизнеса.

0
Ваша корзина

Создание зеркальных отражений в 3D движке на C++


Зеркальные отражения являются важным аспектом визуальной составляющей современных 3D-игр и приложений. В этом видео рассмотриваются основные принципы и подходы к созданию зеркальных отражений в 3D движке Cosmo Engine.

Основные принципы

Зеркальные отражения можно реализовать различными способами, однако наиболее популярными методами являются:

  1. Планарные отражения: Работают хорошо для плоских поверхностей, таких как полы или стены.
  2. Кубические карты (Cubemap): Используются для отражений на криволинейных поверхностях, например, на сферах.
  3. Screen Space Reflections (SSR): Техника, использующая информацию из буфера экрана для создания отражений.

Пример: Планарные отражения

Планарные отражения являются наиболее простыми в реализации и подходят для плоских зеркальных поверхностей. Основная идея заключается в том, чтобы отрисовать сцену дважды: один раз с нормальной точки зрения и второй раз с точки зрения, отраженной относительно плоскости зеркала.

Шаги реализации
  1. Создание текстуры для отражений: Создаем рендер-таргет текстуру, в которую будет записываться отраженная сцена.

  2. Отражение камеры: Отражаем камеру относительно плоскости зеркала. Это включает изменение позиции камеры и направления просмотра.

  3. Рендеринг отраженной сцены: Отрисовываем сцену с отраженной камерой в текстуру, созданную на первом шаге.

  4. Отрисовка финальной сцены: Отрисовываем сцену с нормальной камеры, используя текстуру с отражением для отражающихся объектов.

 
Создание зеркальных отражений требует понимания основ работы с камерой и текстурами в 3D графике. В этом посте мы рассмотрели один из способов реализации планарных отражений. Для более сложных случаев, таких как отражения на криволинейных поверхностях или использование SSR, потребуется более глубокое понимание графических шейдеров и буферов.
 
 

Больше материалов в интенсиве:

3D игровой движок на C++ – COMP 1100 (cyberkoala.ru)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

А ещё эксклюзивный контент на интенсивах