投光物

作者: 龙遁流 | 来源:发表于2017-01-12 22:04 被阅读0次

一个光源把光投射到物体上,叫做投光(Light casters)。

定向光

当一个光源很远的时候,来自光源的每条光线接近于平行。无论物体和观察者在哪儿看,就像所有的光线来自于同一个方向。当一个光源被设置为无限远时,它被称为定向光(Directional Light),因为所有的光线都有着同一个方向;它会独立于光源的位置。

定向光

点光源

定向光作为全局光可以照亮整个场景,但是另一方面除了定向光,我们通常也需要几个点光源(Point Light),在场景里发亮。点光是一个在空间里有位置的光源,它向所有方向发光,光线随距离增加逐渐变暗。想象灯泡和火炬作为投光物,它们可以扮演点光的角色。

点光源

光的衰减

随着光线穿越距离的变远使得亮度也相应地减少的现象,通常称之为衰减(Attenuation)

衰减值

常数项通常是1.0,它的作用是保证分母永远不会比1.0小。

一次项用于与距离值相乘,这会以线性的方式减少亮度。

二次项用于与距离的平方相乘,为光源设置一个亮度的二次递减。二次项在距离比较近的时候相比一次项会比一次项更小,但是当距离更远的时候比一次项更大。

衰减曲线

正确的衰减值的设置由很多因素决定:环境、你希望光所覆盖的距离范围、光的类型等。大多数场合,这是经验的问题,也要适度调整。

一些经验值

聚光

聚光(Spotlight)是一种位于环境中某处的光源,它不是向所有方向照射,而是只朝某个方向照射。结果是只有一个聚光照射方向的确定半径内的物体才会被照亮,其他的都保持黑暗。聚光的好例子是路灯或手电筒。

OpenGL中的聚光用世界空间位置,一个方向和一个指定了聚光半径的切光角来表示。我们计算的每个片段,如果片段在聚光的切光方向之间(就是在圆锥体内),我们就会把片段照亮。下面的图可以让你明白聚光是如何工作的:

聚光

LightDir:从片段指向光源的向量。

SpotDir:聚光所指向的方向。

ϕ:定义聚光半径的切光角。每个落在这个角度之外的,聚光都不会照亮。

θ:LightDir向量和SpotDir向量之间的角度。θ值应该比Φ值小,这样才会在聚光内。

聚光边缘的平滑和软化

为创建聚光的平滑边,我们去模拟的聚光有一个内圆锥和外圆锥。可以把内圆锥设置为前面部分定义的圆锥,我们希望外圆锥从内边到外边逐步的变暗。

为创建外圆锥,我们简单定义另一个余弦值,它代表聚光的方向向量和外圆锥的向量(等于它的半径)的角度。然后,如果片段在内圆锥和外圆锥之间,就会给它计算出一个0.0到1.0之间的亮度。如果片段在内圆锥以内这个亮度就等于1.0,如果在外面就是0.0。

我们可以使用下面的公式计算这样的值:

聚光亮度值

这里ϵ是内部圆锥(ϕ)和外部圆锥(γ)的差。结果I的值是聚光在当前片段的亮度。

聚光亮度示例

图片和一些文字来源于https://learnopengl-cn.github.io,本人收集作为笔记,如有侵权,望告知


相关文章

  • 投光物

    一个光源把光投射到物体上,叫做投光(Light casters)。 定向光 当一个光源很远的时候,来自光源的每条光...

  • LearnOpenGL 投光物

    定向光 当一个光源很远的时候,来自光源的每条光线接近于平行。这看起来就像所有的光线来自于同一个方向,无论物体和观察...

  • 【四十八,投光物-01定向光】

    投光物 投光 : 光源把光照射到物体上; 定向光 当光源被设置为无限远时,它被称为定向光(Directional ...

  • 重新自学学习openGL 之光照投光物

    概念 将光投射(Cast)到物体的光源叫做投光物(Light Caster) 分类 定向光(Directional...

  • OpenGL ES for Android(投光物)

    简介 在之前的章节学习的光源都是一个点,虽然效果不错,和现实世界的光源还有一定的差距。将光投射(Cast)到物体的...

  • 12 - OpenGL学习之投光物

    在之前的例子中,我们使用的光源都假设是来自空间的一个点。但现实环境中,光源的类型有好几种,每种的表现不一样,我们将...

  • 七绝 玻璃

    质本澄明不隐真, 投光视物忌蒙尘。 人心世道如些许, 岂羡灵山顶上神。 2016.1.10

  • 光照-05.投光物(Light casters)

    我们目前使用的所有光照都来自于一个单独的光源,这是空间中的一个点。它的效果不错,但是在真实世界,我们有多种类型的光...

  • 【四十九,投光物-02点光源】

    点光源 我们生活中最常见的电灯泡就是点光源,点光源的特点:1. 在空间中有一个位置;2. 向所有方向发光;3. 光...

  • 金光心法

    原创 金光道长 光者,绵柔密致之物也。其性和,万物受光而生,万物失光而亡。故光乃养命之源也。拯危急于绝望之中,赋光...

网友评论

      本文标题:投光物

      本文链接:https://www.haomeiwen.com/subject/hxndbttx.html