创建 OpenGL 阴影

Posted

技术标签:

【中文标题】创建 OpenGL 阴影【英文标题】:Creating OpenGL Shadows 【发布时间】:2011-11-28 04:46:15 【问题描述】:

有没有人知道学习如何在 openGL 中实现阴影的好地方?或者有谁知道如何做到这一点?我知道默认情况下它没有内置到 openGL 中,但我似乎找不到任何好的例子。我已经创建了一个立方体,它位于我将要测试的平面顶部。我使用以下方法创建了立方体和平面:

glBegin(GL_QUADS);

创建一个平面以及位于该平面上的六面立方体。

【问题讨论】:

【参考方案1】:

创建阴影是一种高级技术(嗯,至少有 3 种方法适用于您的情况)。在尝试这样做之前,您需要牢牢掌握 OpenGL 及其概念。

OpenGL 不是一个场景图,它是一个绘图 API,因此我们的想法是以某种方式组合绘图操作,这样您最终会得到看起来正确的阴影。

您可能需要查找主题:

阴影缓冲区 模板体积阴影 平面投影阴影

每个人都能找到大量的 Google 搜索结果。将 OpenGL 添加到每个术语中,您将获得大量教程。

【讨论】:

感谢这让我有了一个好的开始。找到了一个很好的例子,我可以精简到最简单的点并从那里开始工作。希望在某个时候我能找到一个地方来托管我的条带化代码示例,因为虽然阴影并不简单,但大多数示例都比它们需要的复杂。我有一个简单的立方体旋转并在墙上投射阴影。再次感谢。

以上是关于创建 OpenGL 阴影的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL 3.3 两个 GPU 上的两个不同结果 nVidia Optimus 与阴影映射

带有 FBO 的 OpenGL 阴影映射 - 多个拖尾绘制

一步步学OpenGL 39 -《模型轮廓识别检测[阴影锥1]》

一步步学OpenGL 39 -《模型轮廓识别检测[阴影锥1]》

OpenGL C++ SDL 2D 阴影

✠OpenGL-8-阴影