OpenGL C ++ SDL 2D阴影

时间:2012-02-03 22:38:10

标签: c++ opengl 2d shadow light

目前我正在制作游戏,我遇到了灯光和阴影。 我想出了如何只用一个光源制作阴影,但是如果你有更多的光源怎么办呢?如何通过OpenGL 8光源限制?

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

These两个videos显示我想要的内容。

1 个答案:

答案 0 :(得分:3)

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

无论如何,如果你在谈论阴影贴图,那么决定一个对象可以支持多少个光(即使是基于每个对象)和你的着色器

  • 为每个支持的灯光接收一张阴影贴图
  • 为每个支持的灯光接收一组灯光参数
  • 在每个像素处确定灯是否可见,是否为每个灯
  • 如果灯光可见(不在阴影中),则计算光线的贡献
  • 求和最终亮度值的所有贡献