问题标签 [directional-light]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opengl - 什么是 OpenGL 默认灯光位置?
我想了解opengl中的默认灯光位置。
我设置了一个系统,例如;如果场景中没有灯光,系统会在场景中添加环境光:
如果我不触摸灯光的 Position 参数,灯光就像环境灯光,它似乎没有方向,所以我的物体从各个角度都得到光.. 这很酷.. 但如果我这样做:
(这已经是原始值,因为我用 Gl.glGetLightfv(Gl.GL_LIGHT0, Gl.GL_POSITION, vec); 测试了它,它是一样的)。在我弄乱了位置之后,它真的变成了定向太阳光,但我希望它像环境光一样工作。我在这里想念什么?
three.js - 在 THREE.js 中设置定向光的目标
我的模型远离原点,我想要一个定向光像阳光一样照射模型。
我为 DirectionalLight 设置了位置和目标:
我希望现在的光方向平行于光位置和光目标之间的矢量,但显然光方向仍然朝向场景的原点。我究竟做错了什么 ?
可以在这里看到一个运行示例
opengl - 更好地了解阴影痤疮
我目前正在从这里学习阴影映射。
我试图弄清楚为什么会发生阴影痤疮,我尝试查看我在网上找到的每个视频/资源,有些人将问题与浮点舍入错误联系起来,其他人说它与阴影贴图的大小和如果它可以无限大,那么这个问题就不会发生,
但我所看到的解释都没有与我看到这个“迷幻线模式”的原因有关:
一些解释甚至包括某种抽象绘图,可以在视觉上与屏幕上的现象相关,但实际上并不能很好地解释发生这种情况的根本原因:
为了足够的解释,我一直在为这个到处寻找一整天而摸不着头脑。
我基本上是在寻找对这种现象的新解释,希望是一个清晰友好的解释。
我也想知道在希望了解其原因之后,偏见/面部剔除如何帮助解决这个问题,以及他们如何将这个问题换成彼得潘宁问题,因为我认为没有明确的解释为什么会发生这种情况而不是这个.
c++ - 计算阴影映射的紧密正交投影矩阵
我正在尝试计算相机周围的紧密正交投影以获得更好的阴影映射。我首先使用相机的 fov、位置、右、前、近和远参数使用基本三角法计算世界空间中的相机平截头体 8 点,如下所示:
然后我计算光视图中的截锥体并计算每个轴上的最小和最大点以计算正射投影的边界框,如下所示:
这样做会给我空白的阴影贴图,所以显然有些错误,而且我没有做对。有人可以告诉我我做错了什么以及为什么吗?
编辑: 如前所述,我对截锥体的计算是错误的,我已将它们更改为以下内容:
在创建正射投影时还翻转了z
坐标,如下所示:
然而仍然没有渲染到深度图。有任何想法吗?
这是捕获的结果,您可以看到左上角四边形显示了完全错误的阴影贴图,即使在对象本身上绘制阴影,结果也可以看出:
https ://gfycat.com/brightwealthybass
(阴影贴图值的拖尾只是我使用的 gif 压缩器的一个伪影,它并没有真正发生,所以我没有清除 FBO 的 z 缓冲区没有问题)
EDIT2::
好的,很少有东西GetFov()
返回度数而不是弧度......改变了它。我还尝试使用以下代码从 NDC 转换到世界空间:
对于截锥体的远坐标,它们等于我对截锥体的计算,但对于近角,它们是关闭的,好像我对近角的计算减半了 2(仅适用于 x 和 y)。例如: RIGHT TOP NEAR CORNER:我的计算收益率 -{0.055, 0.041, 2.9}
逆 NDC 收益率 -{0.11, 0.082, 2.8}
所以我不确定我的计算哪里出错了,也许你能指出来?即使使用反转的 NDC 坐标,我也尝试按如下方式使用它们:
仍然得到不好的结果: https ://gfycat.com/negativemalealtiplanochinchillamouse
three.js - SkyShader 示例,获取浅色
使用 Theee.js,我想在SkyShader 演示场景中添加定向光
我可以得到“太阳”的位置,但我不知道如何让太阳的颜色与光线相匹配。可能吗 ?谢谢你。
three.js - ThreeJS中的阴影距离问题
我目前正在为我的场景使用定向照明。一个小角色可以四处走动。所有阴影都有效。但是,如果我开始对头像走得更远一点,阴影就不再适用了。我认为它可能来自光线的角度,但我无法改变它。我可以在阴影/非阴影区域周围画一个正方形。
这是我的代码。巨大的数字在这里让我测试事物
这是接收阴影的地面代码
我在 flamingo https://threejs.org/examples/?q=light#webgl_lights_hemisphere中重用了 ThreeJS 示例提供的大部分代码
这也是一个 imgur 的链接,我只是放了一些图片来查看阴影 https://imgur.com/a/MGrc5cw
谢谢
object - 我的对象场景中的光线有问题
我的对象场景中的光线有问题。
我无法在我的场景中定位我的灯光并选择哪一个。
在这里,我选择了几个 directionalLights 和一个ambientLight,但我的对象并没有真正改变。
你能帮我吗?:)
我的 HTML 代码是:
我的脚本代码是: