专栏名称: CityMaker
CityMaker是国内领先的国产三维地理信息软件(3DGIS)平台和解决方案提供商,提供三维地理数据整合管理、浏览展示、服务发布、地形管理发布等多款专业应用软件产品、增值服务、整体解决方案等等。
目录
相关文章推荐
GiantPandaCV  ·  小白视角:利用 SGL 来 Serve ... ·  2 天前  
GiantPandaCV  ·  小白视角:vllm 迁移到 SGLang ... ·  3 天前  
GiantPandaCV  ·  梳理下Flash ... ·  1 周前  
GiantPandaCV  ·  【ml-engineering ... ·  5 天前  
51好读  ›  专栏  ›  CityMaker

CityMaker新增平行光源:聊一聊3D GIS多光源如何“协作”

CityMaker  · 公众号  · 3D  · 2017-04-12 18:02

正文


光是自然中我们再熟悉不过的构成要素。在虚拟三维场景中为了模拟光的效果,我们添加了光源。按照光源类型分为:方向光源、点光源、聚光灯光源、多光源等等。


由于场景中的光源是我们人为添加的,因此会有一定规则。了解这种规则和原理,对于我们更自如地定量化控制三维场景的光照效果是非常重要的。


进入今天的主题。




“环境光”与“全局环境光”



原本我们的三维场景中只具有一个平行光源,我们控制场景环境光的时候主要是通过环境光全局环境光两个指标。那么二者的区别是什么呢?


环境光就是指前面说的平行光源的环境光,由于是平行光,因此具有一定的方向性,光从同一个平行的方向射向物体表面。


全局环境光是在平行光源基础上整体增加的环境光变量,没有方向性,只是一个“增量”,如下图是平行光源的环境光原始效果。



下面是增加了黄色的全局环境光后的效果。




一个变两个



为了模拟现实环境中不同类型的光,使场景光照效果更能满足需求,新版本软件中,平台在保留原有的平行光源的基础上,又新增了一个平行光源方向分别为东南和西南。


使用时,既可以修改其中一个光源的光的颜色,单独作用;也可以修改两个,体现二者融合的效果。下图为仅修改第一个平行光源颜色为红色的效果。



下图为仅修改第二个平行光源颜色为绿色的效果。



同时修改两个光源的颜色,叠加后的效果如下图。




你看到的究竟是什么



在CityMaker中有多个光源,又有全局环境光。同时,不同模型又有自己不同的颜色和材质,那么我们看到的颜色究竟取决于哪个呢?


在SDK帮助文档“关于环境光的说明”中为我们详细介绍了颜色的计算公式,即:

物体最终显示颜色=a*ma+a0*ma+d0*md+s0*ms+a1*ma+d1*md+s1*ms。


其中:a表示全局环境光;a0、d0、s0表示第一个光源的环境光、散射光、镜面光;a1、d1、s1表示第二个光源的环境光、散射光、镜面光;ma、md、ms表示模型材质的环境光、散射光、镜面光。


环境光颜色与模型纹理进行融合,最终就是模型显示时人眼所看到的颜色。






 想了解更多? 
 那就赶紧来关注我们 

长按二维码 关注我们

加入我们官方QQ讨论群,参与更多互动分享

CityMaker软件技术分享群

189406624