ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

WebGL6---五彩的光源(1)

2019-02-21 15:50:37  阅读:293  来源: 互联网

标签:distance 光源 强度 THREE 衰减 intensity 五彩 WebGL6


1、Threejs中各种光源

      1)光源基类

            在Threejs中,光源用Light表示,它是所有光源的基类。它的构造函数是:THREE.Light(hex);

       它有一个参数hex,接受一个16进制的颜色值。如果要定义一种红色的光源,例如:

            var RedLight = new THREE.Light(0xFF0000);

      2) 有基类派生出来的其他种类的光源

           

                接下来对各种光源详细介绍:

              2.1)THREE.AmbientLight(环境光

                      环境光是经过多次反射而来的光,无法确定其最初方向;环境光是一种无处不在的光;

             当你仅为场景制定环境光时,所有的物体无论法向量如何,都将表现为同样的明暗程度;

              2.2)THREE.PointLight(点光源)

                       由这种光源放出来的光线来自同一点,且方向辐射到四面八方。例如:蜡烛放出的光,萤火虫放出的光;

                       构造函数: PointLight(color,intensity,distance);

                       ① color: 光的颜色     ②intensity: 光的强度,默认是1.0(100%强度的灯光)  ③distance:光的距离,

              从光源所在的位置,经过distance这段距离之后,光的强度从intensity衰减到0.默认情况下,这个值为0,表示光源强度不衰减;

               2.3)THREE.SpotLight(聚光灯)

                        这种光源的光线从一个锥体中射出,在被照射的物体上产生聚光的效果;使用这种光源需要指定光的射出方向以及锥体的顶角。

                        构造函数: THREE.SpotLight(hex,intensity,distance,angle,exponent);

                        ① hex:聚光灯发出的颜色,如:0xFFFFFF

                        ② intensity: 光源的强度,默认是1.0,如果为0.5,则强度是一半;

                        ③ distance : 光线的强度,从最大值衰减到0需要的距离;默认值为0,表示光不衰减;如果非0,则表示到离光源Distance时,光源强度为0;

                        ④ angle:聚光灯着色的角度,用弧度作为单位,这个角度是和光源的方向形成的角度;

                        ⑤ exponent: 光源模型中,衰减的一个参数,越大衰减越快;

             

              总结:

                    1)当没有任何光源的时候,最终的颜色将是黑色,无论材质是什么颜色;

                    2)Lamber 材质会在所有方向上均匀的散射灯光;

                       

标签:distance,光源,强度,THREE,衰减,intensity,五彩,WebGL6
来源: https://www.cnblogs.com/sunqq/p/10412981.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有