请简述gouraud光照模型_基础光照模型

模拟正式光照环境生成图像时所需了解的相关概念

模拟真实光照环境生成图像的过程主要分为如下3个步骤

光源发射光线

光线与场景中物体相交,一些光线被吸收,一些光线散射到其他方向

摄像机吸收一些光,产生图像

光源

辐照度:光源发射的光的数量

平行光的辐照度:垂直于光的方向的单位面积上单位时间内穿过的能量

吸收

吸收:改变密度和颜色

散射

散射:改变方向

分为2类

折射:射到物体内部 漫反射

反射:射到外部 高光反射

出射度:出射光线的数量和方向(根据入射光线的数量和方向计算)

着色

根据材质属性和光源信息,使用一个等式(光照模型)计算沿某观察方向的出射度

标准光照模型(Phong光照模型)

只关心直接光照

直接光照:直接从光源发射出来照射到物体表面后,经过物体表面的一次反射直接进入摄像机的光效

基本方法:把进入摄像机的光线分为4部分,各部分使用自己的方法计算贡献度

自发光(emissive):给定一个方向,某表面本身会向该方向发射的辐射量

高光反射(specular):光线从光源照射到模型表面时,表面会在完全镜面反射方向散射的辐射量

漫反射(diffuse):光线从光源照射到模型表面时,该表面会向各方向散射的辐射量

环境光(ambient):其他所有间接光照

逐像素和逐顶点

片元着色器中计算光照模型:逐像素光照

Phong着色:在面片之间对顶点发现进行插值

顶点着色器中计算光效模型:逐顶点光照

高洛德着色:在各顶点计算光照,在渲染图元内进行线性插值,输出成像素颜色

Unity中的光

环境光

在Windows/Lighting/Settings中的AmbientOcclusion中设置

在Shader中通过UNITY_LIGHTMODEL_AMBIENT得到环境光的颜色和强度

自发光

在片元着色器输出最后的颜色之前,将材质的自发光颜色添加到输出颜色上

Unity中的漫反射光照模型

漫反射值 = 光的颜色 * 材质的漫反射系数 * 表面法线与光源方向的点积

最终的颜色 = 环境光值+漫反射值

逐顶点光照

// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'

// 逐顶点的漫反射光照

Shader "Fan/Diffuse Vertex-Level"

{

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值