2012-02-03 68 views
0

目前我正在研究我的游戏,我被灯光和阴影卡住了。 我想出了如何用1个光源制作阴影,但是如果你有更多的光源,怎么做呢?如何通过OpenGL 8光源限制?OpenGL C++ SDL 2D Shadows

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

These两个videos显示我想要的。

+0

所有的贡献?这是投影阴影或影子卷..? – Sorceror 2012-02-04 00:40:02

+0

Sorceror,我认为你的意思是“阴影贴图”而不是投影 – Gigi 2012-02-04 01:18:02

回答

3

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

无论如何,如果你是在谈论阴影映射,然后决定一个对象可以有多少灯支持(甚至在每个对象的基础上),并在着色器

  • 接收支持光为每一个阴影地图
  • 接收一组光参数为每个支持的光
  • 在每个像素确定该光是可见的,对于每个光
  • 如果光可见(不阴影),计算出光
  • 总和的贡献为您使用的阴影是什么算法最终的亮度值
+1

现在这个链接被破坏了。 – 2014-07-30 01:35:38