OpenGL C ++ SDL 2D Shadows - PullRequest
       93

OpenGL C ++ SDL 2D Shadows

0 голосов
/ 04 февраля 2012

В настоящее время я работаю над своей игрой, я застрял в свете и тени.Я разобрался, как сделать тени только с одним источником света, но как это сделать, если у вас больше источников света?Как пройти ограничение источников света OpenGL 8?

Я работаю с C ++, OpenGL и SDL.

Эти два видео показывают, что именноя хочу.

1 Ответ

3 голосов
/ 04 февраля 2012

Мое предложение - пропустить все учебники о конвейере фиксированных функций и перейти прямо к эпохе GL3.3 +: см. https://github.com/McNopper/OpenGL для некоторых учебников.

В любом случае, если вы говоритечто касается отображения теней, то вы решаете, сколько источников света может поддерживать объект (даже для каждого объекта), а в ваш шейдер :

  • получить одну карту теней для каждого поддерживаемого источника света
  • получить один набор параметров освещения для каждого поддерживаемого источника света
  • в каждом пикселе; определить, является ли источник света видимым, для каждого источника света
  • если свет виден (не в тени), рассчитать вклад света
  • суммировать все вклады для окончательного значения яркости
...