位置: 编程技术 - 正文

Three.js源码阅读笔记(光照部分)(threejs 源码)

编辑:rootadmin
天气越来越冷了,人也越来越懒怠,越来越像呆在温暖的寝室里看小说或者打游戏,也好久没看Three.js源码了。今天天气不错,接着看! 这次从光照部分看起:光照模型,从光线本身角度来看包括环境光、平行光、点光源,从物体表面材质角度看又包括漫反射和镜面反射。 Lights:Light 该对象是其他光照对象的原型/基类,本身继承自Object3D对象/类型。它自身只有一个THREE.Color类型的color属性,就是颜色,这很好理解。 在Three.js中,光照作为一种Object3D对象,是经过Scene.add()方法加入到场景中的,渲染器会自动渲染所加入的光照效果。 Light::AmbientLight 无方向的环境光,并没有比Light类型多一个属性或方法,而仅仅为了语义上的继承而继承自Light,它甚至没有必要是Object3D对象。 Light::DirectionalLight 平行光(有方向的光),使用new运算符构造该函数时需传入颜色hex和光线的“密度”intensity。这个类有这样一些属性: position:一个位置,以该位置为起点,原点为终点的方向是光线的方向。 intensity:光线的密度,默认为1。因为RGB的三个值均在0~之间,不能反映出光照的强度变化,光照越强,物体表面就更明亮。 distance:衰减距离,默认值为0,光照无衰减;如果是非0值,光照会从position位置(实际上是position所处的那个平面)开始衰减,衰减到distance距离之后,光照强度intensity为0。 castShadow:布尔值,控制是否产生阴影,默认为false。如果设为true,对于所有表面都会逐像元地计算其在光照方向上是否被遮挡,这会消耗大量的计算。 onlyShadow:布尔值,控制是否只产生阴影而不“照亮”物体,默认为false。这种模式也许有什么特殊应用吧。 shadowCameraLeft,shadowCameraRight……系列,以position点为中心控制产生阴影的范围? shadowBias:阴影偏心,默认为0。 shadowDarkness:阴影对物体亮度的影响,在0~1之间,默认为0.5。 还有不少属性暂时猜不出含义(真该去补补计算机图形学啊,硬着头皮继续看吧)。 Light::PointLight 点光源,position那肯定就是光源点了。注意点光源的position和平行光的position的区别,前者默认在原点,而后者默认在点(0,1,1),这使得默认的平行光方向和相机的默认朝向一致。 其他两个属性和平行光中一样。PointLight点光源没有关于如何产生阴影的设定。 Light::SpotLight 一种可以在某个方向上产生阴影的点光源,影响MeshLamberMaterial和MeshPhongMaterial类型材质的表面。对阴影如何处理的设定和DirectionLight一致。 总之,光照对象并不承担渲染光照的任务,而仅仅是定义如何渲染光照。Object::Partical 粒子就是一个由材质的Object3D,这很好理解。Object3D对象提供一个坐标(就是粒子的坐标),负责粒子的运动,粒子只需要指定表现它的材质即可。Object::ParticalSystem 粒子系统表现多个粒子的运动,粒子系统本身继承自是Object3D对象。有这样几个属性: geometry属性,每一个节点都是一个粒子,这些共享一个材质。 material属性,即这些节点的材质。 frustumCulled属性,布尔值,如果设定为真,那么在相机视界之外的会被踢出,但还没弄清楚是粒子系统中心坐标在视界外就踢出整个粒子系统还是单个粒子出去了就剔除,猜测多半是后者。 其实这几篇都是涉及怎么定义场景的,至于怎么渲染场景很难有深入。我准备接下来去看Demo的代码,结合者看看WebGLRenderer类的源代码(几千行OMG)。

推荐整理分享Three.js源码阅读笔记(光照部分)(threejs 源码),希望有所帮助,仅作参考,欢迎阅读内容。

Three.js源码阅读笔记(光照部分)(threejs 源码)

文章相关热门搜索词:javascript源码阅读,three.js原理,three.js开发工具,three.js原理,javascript源码阅读,three.js原理,javascript源码阅读,threejs源码解析,内容如对您有帮助,希望把文章链接给更多的朋友!

Three.js源码阅读笔记(物体是如何组织的) 这是Three.js源码阅读笔记第三篇。之前两篇主要是关于核心对象的,这些核心对象主要围绕着矢量vector3对象和矩阵matrix4对象展开的,关注的是空间中的

Three.js源码阅读笔记(Object3D类) 这是Three.js源码阅读笔记的第二篇,直接开始。Core::Object3DObject3D似乎是Three.js框架中最重要的类,相当一部分其他的类都是继承自Object3D类,比如场景类

Three.js源码阅读笔记(基础的核心Core对象) Three.js是一个比较伟大的webgl开源库,它简化了浏览器3D编程,使得使用JavaScript在浏览器中创建复杂的场景变得容易很多。Github上众多webgldemo令我兴奋不

标签: threejs 源码

本文链接地址:https://www.jiuchutong.com/biancheng/379214.html 转载请保留说明!

上一篇:JavaScript初学者应注意的七个细节详细介绍(javascript零基础入门)

下一篇:Three.js源码阅读笔记(物体是如何组织的)(three.js typescript)

  • 应交增值税月末出现借方余额怎么处理
  • 账账核对的基本内容
  • 混合销售行为如何缴纳增值税税率
  • 汽车维修费可以计入交通费吗
  • 房地产开发企业土地增值税预缴
  • 怎么确定开票项目是否属于经营范围
  • 贸易企业可以委托代理吗
  • 返佣账务处理
  • 所得税申报更正申报怎么报?
  • 当地外包公司是干什么的
  • 退货退款分录
  • 采用重置成本计量属性的税种是
  • 企业付装修费怎么入账
  • 企业购入生产设备所支付的增值税
  • 厂房消防安装图
  • 估价入账是什么意思
  • 特定行业如何界定
  • 小规模不动产销售不动产怎么交税
  • 留抵进项税额可以挂在转出未交增值税吗
  • 冲销暂估成本如何写摘要?
  • 农民工工资怎么交个人所得税
  • 小规模查账征收增值税怎么算
  • php邮箱发送
  • w10触摸键盘
  • 64位windows系统下安装Memcache缓存
  • win10无法运行软件怎么回事
  • win11镜像文件怎么复制到系统U盘
  • 琼斯的大海怪
  • PHP:pg_num_rows()的用法_PostgreSQL函数
  • 国税0申报如何网上申报
  • 材料成本差异贷方表示
  • thinkphp框架介绍
  • 蒂内河畔圣艾蒂安小镇,法国阿尔卑斯省 (© CAVALIER Michel/hemis.fr/Alamy Stock Photo)
  • Symfony2中被遗弃的getRequest()方法分析
  • 已收到材料至月末仍未收到发票账单
  • 上月未开发票的销项税,已经申报缴税,在本月开了票,应该如何填报?
  • 利润表中本期数
  • 非货币型资产交换CPA
  • 城市维护建设税是什么意思
  • 函数模拟图
  • 企业所得税算法例题解析
  • sql建立聚集索引语句
  • sql server job
  • 临时用工费开票项目
  • 2019年印花税减半征收条件
  • 减免税款属于政府补助利得吗
  • 房产公司结转成本的会计分录
  • 其他应收款账务核销后放在哪个科目里
  • 分销佣金账务处理流程
  • 相同的商品附带不同的赠品发布
  • 材料成本差异是什么
  • 福利费的进项税额会计分录
  • 学校接受捐赠收入要交企业所得税吗
  • 产品因质量问题换新质保期如何计算
  • 赠送样品视同销售增值税该怎么做账务处理呢?
  • 年终建账于年初建账,在录入期初余额时有什么不一样?
  • sql merge函数
  • MySQL使用xtrabackup进行备份还原操作
  • mysql的行转列
  • xp系统环境变量
  • win8defender怎么打开
  • xp怎么删除电脑系统
  • win8电脑定时关机怎么设置方法
  • ubuntu netbook
  • windows传输到mac
  • windows102021年更新
  • 电脑window8系统怎么样
  • mysql如何添加外键
  • win10无法升级系统
  • win7系统宽带连接651
  • linux curl用法
  • jquery按钮点击事件
  • vps 备份
  • jquery form序列化
  • 搭建maven开发环境
  • 公司地址变更后社保要改吗
  • 增值税归国家还是地方
  • 江苏省地税局公众号关注
  • 手机陌陌卸载还有记录吗
  • 建筑公司报销流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设