Three.js光源梳理3——平行光(DirectionalLight)
平行光本质是一个方向向量,在shader中计算时直接与模型顶点的法线方向进行dot点乘操作。
如果L(平行光)的向量与N(顶点法线方向)一样(N Dot L=1),那么表示模型的这个点正对着光源,应该最亮,相反,如果两个向量呈相反方向(N Dot L=-1),那么则表示这个点背对光源,应该最暗。
基础的兰伯特计算模型的明暗就是NdotL。
与Unity中的平行光不一样的是,Unity中平行光仅使用方向不使用位置来表示平行光方向;而Three.js中是设定一个起点和一个终点(默认为0,0,0),来确定平行光的方向。因此Three.js中通常在创建完成后设定一下光照的位置,如下:
const dirLight = new THREE.DirectionalLight(0xFFFFFF, 1);dirLight.position.set(5, 5, 5);scene.add( dirLight );
平行光是可以产生阴影的,需要将castShadow打开,如下
//开启该光源阴影dirLight.castShadow = true;//获取该光源产生的shadow,并设置参数//具体shadow的参数设置后续再讲解dirLight.shadow.mapSize.width = 2048;dirLight.shadow.mapSize.height = 2048;dirLight.shadow.camera.left = -10;dirLight.shadow.camera.right = 10;dirLight.shadow.camera.top = -10;dirLight.shadow.camera.bottom = 10;dirLight.shadow.camera.near = 4;dirLight.shadow.camera.far = 16;dirLight.shadow.radius = 0.1;dirLight.shadow.bias = 0.0000000001;
也可以设置光源照射的对象target,光的照射终点会跟随着物体移动(默认为上述的0,0,0)。
无论在Unity中还是Three.js中,平行光通常是场景中的主光源,也通常是产生阴影、计算亮暗面的主要光源。
http://www.taodudu.cc/news/show-4303972.html
相关文章:
- OpenGL光源位置
- 红外平行光管ZEMAX光学设计/SOLIDWORKS
- shader学习摘要(八)unity光源类型
- 《缠中说禅108课》1:不会赢钱的经济人,只是废人
- smart gesture安装失败_从安装到打印HP 108w操作详解
- 网上看到的IQ题
- 面试题--用友面试题--IQ题
- 13个小球的IQ题
- 【C++】智力题总结
- pdf文档页码怎么添加?分享这几个pdf加页码方法给你
- 怎样调整Firefox火狐浏览器开发者控制台字体大小
- Linux红帽RedHat 8升级更新Firefox火狐浏览器版本方法
- Firefox火狐浏览器在http下允许通知
- Firefox支持Websocket
- 最速下降法汇总
- Troubleshooting: High Version Count Issues (文档 ID 296377.1)
- High Version Count Issues
- High Version Count Issues(SQL高Version Count) (文档 ID 296377.1)
- Oracle SQL 高版本相关
- 忽视警告_不要忽视下雨的风险2
- 209. 长度最小的子数组(中等 数组 滑动窗口)
- 因为计算机中丢失d3dx926.dll,win10系统打开程序提示丢失d3dx9 26.dll的解决方法
- d3dx9_35.dll如何修复
- 1.7 常微分方程
- 提示找不到d3dx9.h及dxerr.lib
- “d3dx9.h”: No such file or directory 解决办法
- openssl-genras命令简单入门
- Consider defining a bean of type的问题
- 求旋转体体积表面积时的dx,ds问题的简单解释
- AcWing 145 超市
Three.js光源梳理3——平行光(DirectionalLight)相关推荐
- Three.js光源梳理2——环境光(AmbientLight)
环境光会均匀的照亮场景中的所有物体.不能用来投射阴影,因为它没有方向. 环境光类似于一个颜色+强度的最简单的参数,材质的shader中会将其直接作为参数+到最终的颜色信息上,不会进行任何空间上的计算. ...
- CSharpGL(39)GLSL光照示例:鼠标拖动太阳(光源)观察平行光的漫反射和镜面反射效果...
CSharpGL(39)GLSL光照示例:鼠标拖动太阳(光源)观察平行光的漫反射和镜面反射效果 开始 一图抵千言.首先来看鼠标拖动太阳(光源)的情形. 然后是鼠标拖拽旋转模型的情形. 然后我们移动摄像 ...
- Three.js - 光源使用详解2(聚光灯 SpotLight、平行光 DirectionLight)
三.THREE.SpotLight(聚光灯光源) 1,基本介绍 THREE.SpotLight 是一种具有锥形效果的光源,该光源拥有产生光的方向和角度.我们可以将其与手电筒或者灯笼产生的光进行对比. ...
- 第五节:Three.js光源的类型【Three.js整理】
Three.js 光源类型:环境光 THREE.AmbientLight .点光源THREE.PointLight.聚光灯 THREE.SpotLight.定向光 THREE.DirectionalL ...
- Three.js - 光源使用详解1(环境光 AmbientLight、点光源 PointLint)
Three.js 中有许多不同种类的光源,每种光源都有特别的行为和用法.下面通过一个系列文章介绍它们的用法. 一.THREE.AmbientLight(环境光) 1,基本介绍 在创建 THREE.Am ...
- Node.js知识梳理(一)——基础
以下内容来自对<从前端到全栈>一书的学习记录~ 学习的时候用的是V16.20.0,18+之后的语法差别还是有的~ 什么是Node.js Node.js 是运行在操作系统中的 JavaScr ...
- Javascript 引擎工作机制(js层面梳理)
转载地址:http://www.jb51.net/article/98610.htm 我们需要引入几个相关的概念:执行环境栈.全局对象.执行环境.变量对象.活动对象.作用域和作用域链等,这些概念正是J ...
- 前端高效开发必备的 js 库梳理
之前有很多人问学好前端需要学习哪些 js 库, 主流框架应该学 vue 还是 react ? 针对这些问题, 笔者来说说自己的看法和学习总结. 首先我觉得在学习任何知识之前必须要有一个明确的学习目标, ...
- Node.js知识梳理之Node.js安装
Node.js官网:nodejs.org/en/ 用户进入官网,会自动推荐适合于开发者电脑的Node.js版本,官网提示我下载适用于windows(x64)的版本.官网有两个版本LTS(长期稳定)版和 ...
最新文章
- Ubuntu下添加新分区并设置挂载点
- iis php重定向循环,在windows机器IIS上如何设置301永久重定向
- 【STM32】STM32系列教程汇总(暂时暂停更新...)
- 数据装载全/存量直接装载到目标表_09
- 信息学奥赛一本通(1009:带余除法)
- DataReader类访问字段的值
- OpenShift 4 - DevSecOps Workshop (13) - 将镜像推送到Quay,并进行漏洞扫描
- bzoj4850 [JSOI2016]灯塔
- java 嵌套类implement_有关 C++ 嵌套类
- ai人工智能的本质和未来_人工智能简介:这就是未来
- 联想计算机不能使用ghost,联想电脑不能GHOST的解决方法
- 与孩子一起学编程05章
- 如何巧妙将流量转化为销量?
- 切向量,普通矢量,渐变
- 一道发散思维题,有1000个一模一样的瓶子,其中有999瓶是普通的水,有一瓶是毒........
- 电信行业数据安全风险评估案例 - 数据安全治理之数据安全风险评估白皮书
- Linux centos安装chromium
- 使用sqlyog连接阿里云rds数据库
- ​LeetCode刷题实战375:猜数字大小 II
- 回顾2022年计算机视觉领域最激动人心的进展