问题标签 [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.

0 投票
0 回答
802 浏览

opengl - 什么是 OpenGL 默认灯光位置?

我想了解opengl中的默认灯光位置。

我设置了一个系统,例如;如果场景中没有灯光,系统会在场景中添加环境光:

如果我不触摸灯光的 Position 参数,灯光就像环境灯光,它似乎没有方向,所以我的物体从各个角度都得到光.. 这很酷.. 但如果我这样做:

(这已经是原始值,因为我用 Gl.glGetLightfv(Gl.GL_LIGHT0, Gl.GL_POSITION, vec); 测试了它,它是一样的)。在我弄乱了位置之后,它真的变成了定向太阳光,但我希望它像环境光一样工作。我在这里想念什么?

0 投票
1 回答
2089 浏览

three.js - three.js 光线从相机直接照射到物体

在我的三个 js 设置中,我有以下定向光设置:

为了让光线跟随我的相机并始终照亮我的网格,我在渲染函数中设置了以下内容: private onRender() {

现在,对象总是被照亮:

在此处输入图像描述 在此处输入图像描述

但是如果我放大面向相机的表面是黑暗的:

在此处输入图像描述

我想让我的光总是从我的相机指向物体。我究竟做错了什么?

0 投票
1 回答
121 浏览

ios - 不需要的自我阴影

我有一个使用 SceneKit 进行渲染的 ARKit 应用程序。我正在使用将阴影投射到不可见的地板平面上的定向光。为了做到这一点,我必须(?)shadowMode = .deferred在灯光上使用。但这会导致图像中出现丑陋的自我阴影:

盒子投射自我阴影 我怎样才能避免这种情况并且仍然保持地板上的阴影?灯光看起来不错shadowMode = .forward,但是地板上没有阴影。

0 投票
2 回答
2076 浏览

three.js - 在 THREE.js 中设置定向光的目标

我的模型远离原点,我想要一个定向光像阳光一样照射模型。

我为 DirectionalLight 设置了位置和目标:

我希望现在的光方向平行于光位置和光目标之间的矢量,但显然光方向仍然朝向场景的原点。我究竟做错了什么 ?

可以在这里看到一个运行示例

0 投票
1 回答
523 浏览

opengl - 更好地了解阴影痤疮

我目前正在从这里学习阴影映射。

我试图弄清楚为什么会发生阴影痤疮,我尝试查看我在网上找到的每个视频/资源,有些人将问题与浮点舍入错误联系起来,其他人说它与阴影贴图的大小和如果它可以无限大,那么这个问题就不会发生,
但我所看到的解释都没有与我看到这个“迷幻线模式”的原因有关: 在此处输入图像描述

一些解释甚至包括某种抽象绘图,可以在视觉上与屏幕上的现象相关,但实际上并不能很好地解释发生这种情况的根本原因: 在此处输入图像描述

为了足够的解释,我一直在为这个到处寻找一整天而摸不着头脑。
我基本上是在寻找对这种现象的新解释,希望是一个清晰友好的解释。

我也想知道在希望了解其原因之后,偏见/面部剔除如何帮助解决这个问题,以及他们如何将这个问题换成彼得潘宁问题,因为我认为没有明确的解释为什么会发生这种情况而不是这个.

0 投票
1 回答
857 浏览

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

0 投票
2 回答
264 浏览

unity3d - 如何避免 Unity 定向光中的眩光?

我有一个在相机顶部填充纹理的四边形。当我添加定向光时,它在中心显示出眩光。早些时候,我做对了,但现在不知道为什么会这样。下面是我的统一相机游戏,带有中心眩光和场景

定向光上的统一眩光

0 投票
1 回答
79 浏览

three.js - SkyShader 示例,获取浅色

使用 Theee.js,我想在SkyShader 演示场景中添加定向光

我可以得到“太阳”的位置,但我不知道如何让太阳的颜色与光线相匹配。可能吗 ?谢谢你。

0 投票
1 回答
106 浏览

three.js - ThreeJS中的阴影距离问题

我目前正在为我的场景使用定向照明。一个小角色可以四处走动。所有阴影都有效。但是,如果我开始对头像走得更远一点,阴影就不再适用了。我认为它可能来自光线的角度,但我无法改变它。我可以在阴影/非阴影区域周围画一个正方形。

这是我的代码。巨大的数字在这里让我测试事物

这是接收阴影的地面代码

我在 flamingo https://threejs.org/examples/?q=light#webgl_lights_hemisphere中重用了 ThreeJS 示例提供的大部分代码

这也是一个 imgur 的链接,我只是放了一些图片来查看阴影 https://imgur.com/a/MGrc5cw

谢谢

0 投票
0 回答
29 浏览

object - 我的对象场景中的光线有问题

我的对象场景中的光线有问题。

我无法在我的场景中定位我的灯光并选择哪一个。

在这里,我选择了几个 directionalLights 和一个ambientLight,但我的对象并没有真正改变。

你能帮我吗?:) 在我的 3D 软件上渲染对象 我网站上的对象

我的 HTML 代码是:

我的脚本代码是: