OpenGL C++ SDL 2D 阴影
Posted
技术标签:
【中文标题】OpenGL C++ SDL 2D 阴影【英文标题】:OpenGL C++ SDL 2D Shadows 【发布时间】:2012-02-03 22:38:10 【问题描述】:目前我正在开发我的游戏,我被灯光和阴影困住了。 我想出了如何只用 1 个光源制作阴影,但是如果你有更多光源怎么做呢?如何通过OpenGL 8光源限制?
我正在使用 C++、OpenGL 和 SDL。
These 两个videos 正是我想要的。
【问题讨论】:
阴影使用什么算法?是投影阴影还是阴影体积..? 巫师,我认为您的意思是“阴影映射”而不是投影阴影 【参考方案1】:我的建议是跳过所有关于固定功能管道的教程,直接进入 GL3.3+ 时代:一些教程见:https://github.com/McNopper/OpenGL。
无论如何,如果您在谈论阴影映射,那么您决定一个对象可以支持多少灯(即使是基于每个对象)并在您的着色器:
为每个支持的灯光接收一个阴影贴图 为每个支持的灯光接收一组灯光参数 在每个像素处确定灯光是否可见,对于每个灯光 如果光线可见(不在阴影中),则计算光线的贡献 对最终亮度值的所有贡献求和【讨论】:
链接已断开。以上是关于OpenGL C++ SDL 2D 阴影的主要内容,如果未能解决你的问题,请参考以下文章
用 SDL_Renderer 绘制 2D 东西,用 SDL_GLContext 绘制 OpenGL 东西