光照——05GI

学习笔记适合新手,如有错误请指正。?号处也请各位指点下,谢谢。

GI(Global Illumination)

光照按光的来源可分为两种:

直接光照(Direct Lighting):光源直接发出的光

间接光照(Indirect Lighting):物体表面在接受光照后反射出的光

GI介绍

Unity的光照系统只能将光照信息(包括间接光照)通过烘焙的方式储存在Lightmap即光照贴图,而无法实时处理间接光照

Unity5.0以后的版本使用了Geomerics公司的Enlighten光照系统,改系统提供了最先进的动态光照解决方案,能实时计算间接光照,这种能计算间接光照的光照系统,就是GI系统,即全局光照系统

Unity所使用的Enlighten光照系统是唯一被证明能提供实时GI的光照系统,并且支持移动平台,

GI有实时、烘焙以及混合这几种模式,切换也非常简单

直接设置光的Baking属性,在Realtime(实时)、Baked(烘焙)、和Mixed(混合)3种模式之间切换即可

Realtime:实时模式,在编译前有一个预计算阶段,主要收集场景几何信息等信息,在实时渲染阶段,会根据预计算阶段收集的信息进行直接光照和间接光照计算

Baked:烘焙模式,将静态光照和动态光照等信息烘焙至Lightmap光照贴图中

Mixed:实时模式和烘焙模式的混合

GI使用

点击当行菜单》Window》Lighting,进入光照界面

Environment Light栏是环境光和天空盒的设置

Precomputed是预计算阶段的GI设置,一般来说Realtime Resolution分辨率设置低的值以便快速更新,填1也就是一米一像素够了

Baked GI是烘焙阶段的GI设置

GI分为两中模式:

迭代式(Iterative):当勾选上图中右下角的Comtinuous Baking时为迭代式,Editor监测任何场景改变并立即开始更新对应烘焙信息或者动态光照的预计算信息并自动烘焙数据

快照式(Snapshot):当不勾选上图中右下角的Continuous Bsking时为快照模式,当点击Build按钮后进行GI计算,其他时候不进行任何GI计算,每一次点击Build后的光照信息都会作为快照被存储起来

在Scene窗口的Shaded页签下有多种观察模式,我们可以选择Global Illumination下的各种模式,以可视化的形式观察场景GI的状态

时间: 2024-10-30 02:23:45

光照——05GI的相关文章

unity3d shader 自定义光照函数

希望实现一个根据摄像机朝向与网格法向关系控制光照亮度的双面shader. 代码如下 Shader "Custom/UnlitOP" { Properties{ _Color("Main Color", Color) = (1,1,1,1) //渲染需要外部设置的颜色 _MainTex("Base (RGB)", 2D) = "white" {} //材质 _CamDir("Camera Dirction",

OpenGL(十一) 可编程管线 基础光照 的实现

在OpenGL中创建 基础光照 ,主要的工作将模型中的法线信息和法线空间运算矩阵传入到shader中.另一方面,LightDir,ViewDir通常是在shader中从引擎参数获取的,为了简化光照模型的实现,这里我们可以在shader中写死.至于经典的 ambient+diffuse+specular 光照原理,不是本文的重点,就在shader中一笔带过了. 原理 通过函数 glm::mat4 normalMatrix = glm::inverseTranspose(s_shaderData.m

Unity预计算全局光照的学习(速度优化,LightProbe,LPPV)

1.基本参数与使用 1.1 常规介绍 使用预计算光照需要在Window/Lighting面板下找到预计算光照选项,保持勾选预计算光照并保证场景中有一个光照静态的物体 此时在编辑器内构建后,预计算光照开始生效. 相关的文章有很多,unity官方有一系列文章不错: https://unity3d.com/cn/learn/tutorials/topics/graphics/introduction-precomputed-realtime-gi 在Lighting面板的Scene页签下可以设置全局光

Vertex中实现每顶点光照的镜面高光效果

1,基础知识讲解 一个物体在自然界会收到三种光的影响,周围的环境光.漫反射和镜面反射.那么对于计算机要想模拟现实中的光照,就应该也会实现这三种基本光照->环境光.漫反射.镜面高光.对于这三种光照,都存在着一定的影响因素,这就需要去追究其光照模型的公式了. (1),环境光强影响因素  ,由此可看出环境光照的效果取决于一般环境光的强度  和漫反射的材质颜色  (2),漫反射光强影响因素 由此可看出,漫反射的反射光取决于入射光强度  和材质常数,对于黑色表面,材质常数  的值是 0,对于白色表面,材质

光照和着色处理

光照用来表示材质和光源之间的相互作用.光照可以和颜色,纹理,以及透明度等一起使用,共同形成屏幕上的视觉外观效果. 主要存在三种类型的着色处理方法:扁平.Gouraud.Phong.这3种方法分别基于多边形,顶点,像素来计算光照效果. 扁平着色处理是以三角形为单位进行颜色计算,然后用这种颜色对三角形进行填充.(用扁平方式进行着色处理的图像没有镜面高光成分) Gouraud着色处理首先计算三角形每个顶点处的光照,然后用顶点颜色通过插值来计算三角形内部各点的光照.Gouraud着色处理效果高度依赖所要

Cg入门17:Fragment shader - 片段级光照(添加阴影)

投射阴影 方法一:添加一个单独的pass通道 pass { Tags{"LightMode" = "ShadowCaster"} } ShadowCaster:阴影投射器,可以投射阴影 方法二:添加物体默认阴影投射 FallBack "Diffuse" 然后给光线开启阴影: 效果如下:(效果图为添加平行光) 如果要让我们的shader支持点光源阴影投射,就添加 FallBack "Diffuse" 添加点光源后效果: 接收阴影

Direct3D 光照和材质

  今天我们来学习下Direct3D里面的光源和材质. 四大光照类型: 环境光 Ambient Light 一个物体没有被光照直接照射,通过每一些物体反射的光线到达这个物体,它也有可能被看到.这种称为环境光 漫反射光 Diffuse Light 这种类型光沿着特定的方向传播,当达到某一个表面,它会向四周方向均匀反射(重点考虑反射光的空间位置和方向) 镜面反射光 Specular Light 当此类光到达一个表面时,严格地沿着一个方向反射. 自发光 Emissive Light 自发光就是对象自己

【浅墨Unity3D Shader编程】之七 静谧之秋篇: 表面着色器的写法(二)——自定义光照模式

本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://hpw123.net/plus/view.php?aid=183 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 邮箱: [email protected] QQ交流群:330595914 更多文章尽在:http://www.hpw123.net 本文主要讲解了Unity中SurfaceShader的自定义光照模式的写法. 上篇文章中我们已经说到,表面着色器将分为两次讲解,上

【Unity Shaders】Shader中的光照

写在前面 自己写过Vertex & Fragment Shader的童鞋,大概都会对Unity的光照痛恨不已.当然,我相信这是因为我们写得少...不过这也是由于官方文档对这方面介绍很少的缘故,导致我们无法自如地处理很多常见的光照变量.这篇我们就来讨论下Unity内置的一些光照变量和函数到底怎么用. 以下内容均建立在Forward Rendering Path的基础上. 自己总结的,如果有硬伤一定要告诉我啊!感激不尽~ 主要参考: http://en.wikibooks.org/wiki/Cg_P