美文网首页
更复杂的光源

更复杂的光源

作者: 想变的很强的日向彻 | 来源:发表于2019-11-08 10:50 被阅读0次

一.前言

在光照概述中,我们叙述了一些光照模型,以及逐顶点和逐像素的计算光照,我们没有考虑阴影,没有考虑间接光照,没有考虑光照强度的衰减,而实际上,这些因素游戏的渲染效果的真实感和沉浸感有着至关重要的影响,可以说光照是shader最核心的要素。

二.更复杂的光照

1.渲染路径

什么是渲染路径?渲染路径决定了光照是如何应用到shader中的,而不是仅仅简单的在顶点或者片元着色器中进行计算而已。unity在5.0以前的版本支持三种渲染路径:前向渲染,延迟渲染,顶点照明渲染。而在5.0以后,顶点照明渲染已经被抛弃,新的延迟渲染路径代替了旧的延迟渲染路径(当然也兼容了旧版本),一般时候一个项目只使用一个渲染路径,我们可以通过在edit-Project Setting-Player-Other Setting-RenderingPath中设置,默认情况下是选择的前向渲染路径。

2.前向渲染

假如场景中有N个光源,M个物体,那么每个物体为每个光源计算一遍光照,然后刷新到颜色缓冲和深度缓冲中,即需要N*M个pass的计算,我们才完成整个光照的渲染效果,而且成功实现了他们的叠加,在这里要注意设置正确的混合模式,混合模式即,我们希望新计算的光照结果和缓冲区中的颜色值怎么混合,按什么比例混合,一般情况下选择Blend One One,即1:1混合。

在unity的前向渲染中,有三种处理光照的方式:逐顶点,逐像素,球谐函数。而使用哪种方式取决于光源的类型和他的渲染模式(即是否是重要的),unity中光源的渲染模式有三种,Important,not Important,Auto。顾名思义,设置为Important的光源会被逐像素处理,即更加精细同时开销也更大,Not Important的光源会按逐顶点或者SH(球谐函数)处理,Auto则告诉Unity你自己决定这个光源的处理方式吧。

3.延迟渲染

        前向渲染的问题是,当场景中有大量的光源时,m个物体,n个实时光照的光源,计算复杂度会是m*n,而对于这些光照来说,光照计算中很大一部分对同一个物体的计算是重复的,延迟渲染是一种古老的方法,原理就是,除了前向渲染使用的颜色缓冲和深度缓冲之外,还有额外的缓冲区-G缓冲,G缓冲存储了我们所关心的表面的其他信息,如表面的法线,位置,用于光照计算的属性等。

        计算原理和方法:

包含两个Pass,第一个Pass中不进行任何光照计算,而是仅仅计算哪些片元是可见的,主要是通过深度缓冲技术来实现,当一个片元是可见的,我们就把它的相关信息存储到G缓冲区。在第二个Pass,我们利用G缓冲区的各个片元信息,如表面法线,视角方向,漫反射系数等,进行光照计算。核心就是,在第一个Pass中提前将光照所需的通用信息缓存,减小计算量。所以延迟渲染的Pass通常就是两个,和光源数无关,而是和我们使用的屏幕空间的大小有关。

相关文章

  • 更复杂的光源

    一.前言 在光照概述中,我们叙述了一些光照模型,以及逐顶点和逐像素的计算光照,我们没有考虑阴影,没有考虑间接光照,...

  • UnityShader精要笔记九 不同光源处理

    本文继续对《UnityShader入门精要》——冯乐乐 第九章 更复杂的光照 9.2节进行学习 一、光源类型 Un...

  • Ⅳ更加复杂的光照

    更加复杂的光照 前言 在之前学习中,我们场景中都只有一个光源且光源类型是平行光,但在实际开发中,我们往往需要处理数...

  • 光源颜色、波长与穿透力、互补色

    恰当选择光源颜色在机器视觉应用中有助于突出目标特征,降低算法复杂性。 常见光源颜色有:白、蓝、红、绿、红外、紫外 ...

  • 【四十一,光照-光照基础_04习题移动光源】

    习题 目前,我们的光源时静止的,你可以尝试使用sin和cos函数让光源在场景中来回移动,此时再观察光照效果能让你更...

  • 02-19 在局部光下构建阴影

    在局部光下构建阴影 使用局部光源构建投影的优点就是可以将光源和影原点放置在页面中,这样能够使人更容易理解阴影的构建...

  • 摄影笔记51——为什么阴天的光线更加柔和?

    光源相对被摄物体越小,光质就越硬。如果你想要获得更柔和的光线,就要把光源的面积放大。阴天的光线之所以看起来更加柔和...

  • 详解Threejs中的光源对象

    光源的分类 AmbientLight(环境光),PointLight(点光源),SpotLight(聚光源) 和 ...

  • 第八节课 双光源

    双光源 分清主次光源 把四色顺序安排一遍就是单光源,安排两遍就是双光源,以此类推。 不能因为次光源的加入把主光源的...

  • 初二物理学虎期末冲刺打卡计划day12

    1、光源:能够发光的物体叫光源。 分类:自然光源,如太阳、萤火虫; 人造光源,如篝火、蜡烛、油灯、电灯。 注:月亮...

网友评论

      本文标题:更复杂的光源

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