shadow-mapping

    3热度

    1回答

    我一直想知道如何用OpenGL实现这一点: 我有地图,有平坦的地面和墙壁。这里的每一件事都是2D,没有3D几何,只有2D组成地图。 使用投影阴影的多边形的顶点来定义可视区域。 阴影定义了视野,但由于具有墙壁的细胞阻塞了视野,因此它们也变暗。我可以在阴影上绘制墙壁,但这样做会在视野外显示均匀的墙壁。 我被建议用阴影映射来解决这个问题。我应该将2D场景渲染成4种不同的1D纹理,以保持与第一个碰撞表面的

    4热度

    1回答

    我想要做一个基本的阴影贴图,但由于某种原因它没有正确渲染。 Video of the Problem 我渲染使用平面着色的房子: int shadowMapWidth = WINDOW_SIZE_X * (int)SHADOW_MAP_RATIO; int shadowMapHeight = WINDOW_SIZE_Y * (int)SHADOW_MAP_RATIO; // Renderin

    -2热度

    1回答

    向3D对象添加阴影最简单的方法是什么? 我有存储在数组中的对象信息(顶点,texCoordinates,法线,索引)。 有喜欢isgl3d为iOS允许用户加载3D的.obj文件,并添加阴影一些框架,但他们增添了不少无用的东西,不是多平台(iOS版+机器人) 会是什么将阴影添加到3d对象的最简单方法是什么? 你能显示/链接到一个工作示例(iOS/Android)吗?

    0热度

    1回答

    我很难理解不同着色器阶段之间的数学。在离灯透视片段着色器我基本上写出来的fragDepth到RGB颜色 #version 330 out vec4 shader_fragmentColor; void main() { shader_fragmentColor = vec4(gl_FragCoord.z, gl_FragCoord.z, gl_FragCoord.z, 1);

    1热度

    1回答

    我正在用阴影贴图制作点光源,目前我已经完成了六个深度贴图贴图,每个贴图都单独渲染并应用于光照贴图。这工作得很好,但性能成本很高。 现在,为了通过减少深度贴图着色器和光照贴图着色器之间的FBO更改和着色器交换来提高性能,我想到了几种方法。第一个涉及拥有一个单一的纹理,比阴影图大六倍,并且“一次”渲染所有的点光源深度贴图,然后使用该纹理在一次调用中布局光照贴图。是否有可能只渲染纹理的部分? 要阐述的第

    7热度

    1回答

    据我所知,阴影贴图是通过从光线角度渲染场景来创建深度贴图来完成的。然后,您从摄像机的POV重新渲染场景,并且为场景中的每个点(GLSL中的片段)计算从那里到光源的距离;如果它与你阴影地图中的相符,那么它就在光线中,否则它就在阴影中。 我刚刚通过this tutorial阅读了解如何使用点/全向光进行阴影映射。 根据第12.2.2它说: 我们使用一个单一的阴影贴图的所有光源 然后12.3.6下,它说

    2热度

    1回答

    我对阴影映射感到困惑。这就是我理解的(如下因素的步骤不工作:)) 如何获得利润(请不要混淆有关的代码,它大致是因为我写的关于Java): 1 。创建空depthTexture(我的是1024×1024)与参数 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE)和 glTexImage2D(

    1热度

    1回答

    我正在学习DirectX SDK中的阴影贴图示例。这个样品在初始化期间创建了一个模板表面,并且说: Create the depth-stencil buffer to be used with the shadow map We do this to ensure that the depth-stencil buffer is large enough and has correct m

    3热度

    1回答

    我正在执行的延期渲染全方位阴影映射,但我有麻烦解决这个问题: 这里有一个画面: 这是发生了什么事时,我只是六个方位点指示灯沿正向和反向指向每个轴。我知道这个问题是由点光计算为灯光保持锥形的光照而引起的,这就是为什么它是圆形的。 我的第一个想法是只是禁用锥体计算,但很明显,因为灯光混合在一起,如果你通过一个灯光看另一个会有重叠。如果我将光线从锥形渲染到基于方形的金字塔(我认为无论如何我需要这样做),