0

目前我正在开发我的游戏,我被灯光和阴影困住了。我想出了如何只用 1 个光源制作阴影,但是如果你有更多光源怎么做呢?如何通过 OpenGL 8 光源限制?

我正在使用 C++、OpenGL 和 SDL。

两个视频正是我想要的。

4

1 回答 1

3

我的建议是跳过所有关于固定功能管道的教程,直接进入 GL3.3+ 时代:有关一些教程,请参见: https ://github.com/McNopper/OpenGL。

无论如何,如果您正在谈论阴影映射,那么您可以决定一个对象可以支持多少灯(即使是基于每个对象)并在您的着色器中:

  • 为每个支持的灯光接收一个阴影贴图
  • 为每个支持的灯光接收一组灯光参数
  • 在每个像素处确定灯光是否可见,对于每个灯光
  • 如果光是可见的(不在阴影中),计算光的贡献
  • 将最终亮度值的所有贡献相加
于 2012-02-03T23:08:17.567 回答