18得票1回答
现代OpenGL阴影立方体贴图的指针?

背景 我正在使用C++和现代OpenGL(3.3)开发一个3D游戏。目前,我正在处理光照和阴影渲染,并且已经成功地实现了定向阴影映射。在阅读游戏要求后,我决定需要点光源阴影映射。经过一些研究,我发现为了进行全向阴影映射,我将执行类似于定向阴影映射的操作,但是将使用立方体贴图。 我之前没有关...

16得票1回答
阴影映射 - 垂直于光源的薄墙上的伪像

我遇到了一个问题,与背对光源的面和阴影映射有关,但似乎无法解决。虽然我的引擎还处于相对早期的优化阶段,但即使为这个几何体手动调整了一切,它仍然看起来很糟糕。 问题是一个细长的墙壁,通过大约5个不同的墙块 "弯曲"。当我创建深度图时,我会裁剪正面(朝向光源)。这确实有所帮助,但墙另一侧的正面似...

15得票1回答
GLSL的sampler2DShadow和shadow2D的澄清说明

以下是我的背景介绍(以确保我们在同一页上,并检查我是否遗漏/假设一些愚蠢的东西): 目标:我想使用延迟光照和阴影映射来呈现我的场景阴影。 困难:找到清晰和一致的文档,了解如何使用shadow2D和sampler2DShadow。 以下是我目前正在做的: 在最终渲染通道的片段着色器中(...

13得票1回答
什么导致阴影痘?

我一直在研究阴影映射,找到了以下教程: http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/ 教程让我觉得很有道理,直到作者开始讨论“阴影痤疮”这个现象。他们用下面这张图(没有文字...

10得票1回答
使用GLSL时,多光源阴影映射无法正常工作

我已经实现了基本的阴影映射算法,但它只能正确处理一个光源。 我想渲染带有以下两个点光源的场景: - Light_1 - 位置:vec3(-8.0f,5.0f,8.0f),方向:vec3(1.3f,-1.0f,-1.0f) - Light_2 - 位置:vec3(8.0f,5.0f,8.0f...

8得票1回答
奇怪的OpenGL阴影映射行为

我正在使用C++和OpenGL 3.2以及SFML开发一个3D游戏。我一直在努力实现点光源阴影映射,但是似乎我的做法符合我学到的和看到的示例,但仍然没有阴影。 我已经完成的工作是将我使用的所有代码按照精简的列表形式,按照使用顺序排列,而不是完整的源代码,只包含相关的代码(因为我的项目被分成...

8得票3回答
ThreeJS [r85]: 使用阴影贴图的自定义着色器

我创建了一个自定义着色器,以便能够使用BlendMap和4种不同的纹理,但是我无法使阴影/光影效果与其配合工作。 我错过了什么?还是有其他方法可以实现相同的功能? 下面是网格创建方法,其中显示了所有纹理的混合。 // Creates the ground function CreateG...

7得票1回答
如何使用单个阴影贴图来处理多个点光源?

据我所了解,阴影映射是通过从光源的角度渲染场景来创建深度图。然后,您重新从相机的视角渲染场景,并为场景中的每个点(GLSL中的片段)计算从那里到光源的距离;如果它与阴影图中的值匹配,则在光线下,否则在阴影中。 我刚刚阅读了this tutorial以了解如何使用点/全向光进行阴影映射。 在...

7得票1回答
OpenGL中使用聚光灯进行阴影映射会产生异常效果

我一直在尝试实现阴影映射。虽然我认为我已经接近成功,但是遇到了一个奇怪的效果(如下图所示): 如您所见,阴影区域显得太小了。方块本身也有一种不同寻常的效果。 正在渲染的几何图形是一个边长为1.0的立方体,放在边长为100.0的正方形平面上。场景中只有一个聚光灯,其角度(从一侧到另一侧)...