Russian Qt Forum
Ноябрь 22, 2024, 00:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Самый простой способ добавить тени  (Прочитано 3890 раз)
qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« : Октябрь 25, 2017, 10:04 »

Вот есть же простой алгоритм:
- Нарисовать сцену из позиции источника света
- Сохранить точки, которые не видны из позиции источника света
- Нарисовать сцену из позиции камеры
- Добавить тень в точках, которые из позиции камеры видны, а из позиции источника света не видны

Но реализация у него пугающая. Код длинный и непонятный, используются дополнительные библиотеки.
http://www.gamedev.ru/code/articles/ShadowMapGLSL

Можно ли его реализовать без шейдеров, без glew, без ARB и т.д.?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Октябрь 25, 2017, 13:59 »

Вот есть же простой алгоритм:
- Нарисовать сцену из позиции источника света
- Сохранить точки, которые не видны из позиции источника света
- Нарисовать сцену из позиции камеры
- Добавить тень в точках, которые из позиции камеры видны, а из позиции источника света не видны
Ну вообще-то все не так. Источник рассматривается как (еще одна) камера, рендерим в текстуру сохраняя вместо цвета Z точки. Потом (на финальном рендере) эту текстуру бросаем пирамидой и, сравнивая сохраненное Z с текущим находим есть тень или нет

Но реализация у него пугающая. Код длинный и непонятный, используются дополнительные библиотеки.
http://www.gamedev.ru/code/articles/ShadowMapGLSL

Можно ли его реализовать без шейдеров, без glew, без ARB и т.д.?
Нет. Это самые дешевые/простые тени
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.131 секунд. Запросов: 22.