简单光照模型(Lambert 光照模型)
环境光是对光照现像的最简单抽象,因而局限性很大。它仅能描述光线在空间中无方向并均匀散布时的状态。很多情况下,入射光是带有方向的,比如典型的阳光。如果光照射到比较粗糙的物体表面,如粉笔,由于这些表面从各个方向等强度地反射光,因而从各个视角出发,物体表面呈现相同的亮度,所看到的物体表面某点的明暗程度不随观测者的位置变化的,这种等同地向各个方向散射的现象称为光的漫反射(diffuse reflection)。简单光照模型模拟物体表面对光的反射作用。光源被假定为点光源,其几何形状为一个点,向周围所有方向上辐射等强度的光,在物体表面产生反射作用。就像这样:
Lambert光照模型是一种理想漫反射模型,各个方向一样,它考虑的是ambient光和diffuse光对物体的综合影响。漫反射光的强度近似地服从于Lambert定律,即漫反射光的光强仅与入射光的方向和反射点处表面法向夹角的余弦成正比。下面是示例代码
Shader "Sbin/MyDiffuseFrag"
{SubShader{Pass{tags{"LightMode"="ForwardBase"}CGPROGRAM#pragma multi_compile_fwdbase#pragma vertex vert#pragma fragment frag#include "unitycg.cginc"#include "lighting.cginc"struct v2f{float4 pos:POSITION;float3 normal:TEXCOORD0;float4 vertex:COLOR; };v2f vert(appdata_base v){v2f o;o.pos= mul(UNITY_MATRIX_MVP,v.vertex);o.normal=v.normal;o.vertex=v.vertex;return o;}fixed4 frag(v2f IN):COLOR{//ambient colorfixed col= UNITY_LIGHTMODEL_AMBIENT;//diffuse color// dot(n,l)float3 N=UnityObjectToWorldNormal(IN.normal);float3 L=normalize(WorldSpaceLightDir(IN.vertex));float diffuseScale=saturate(dot(N,L));col+=_LightColor0*diffuseScale;return col; }ENDCG}}
}
简单光照模型(Lambert 光照模型)相关推荐
- 兰伯特光照模型(Lambert Lighting)和半兰伯特光照模型(Half-Lanbert)
关于漫反射 光打到凹凸不平的平面上,光线会被反射到四面八方,被称为漫反射 关于这种模型,由于光线由于分散,所以进入人眼的光线强度和观察角度没有区别 在A点和B点接收到的光线强度是一样的 在漫反射下,光 ...
- 请简述gouraud光照模型_光照模型汇总
1. Lambert模型 理想漫反射模型,各个方向一样. Lambert光照模型是一个非常简单的模型,由Lambert在200多年前提出,当光照射到粗糙的表面时,它将向四周均匀的反射.这种各向同性 的 ...
- LearnGL - 11.1 - 实现简单的Gouraud光照模型 dot 点积/点乘的作用
文章目录 Gouraud dot - 点积的作用 图形了解顶点点积的作用 漫反射 纯漫反射效果 Diffuse - Shader GLSL 的中奇怪的问题 高光 reflect - 反射高光方向 GL ...
- 简单 局部 整体光照模型计算机图形学,计算机图形学北大光照模型.ppt
计算机图形学北大光照模型 * 当来自光源和周围环境的入射光照射在景物表面上时,将有部分光被反射或透射: 在视线方向的反射或透射光,被观察者眼睛中的视觉细胞接收 人眼中的杆状及锥状细胞接收光线,产生视觉 ...
- 朗伯辐射强度模型MATLAB,局部光照模型杂记【Lambert/Phong/Blin-Phong/BRDF/BSSRDF/Cook-Torrance】...
Lambert Lambert不包括任何镜面属性,对粗糙物体来说,这项属性是非常有用的,它不会反射出周围的环境.简单来说是一种"磨砂效果". Lambert材质可以是透明的,可以在 ...
- unite17-shanghai-JPLee-netease-pangu-FullChinese
尊敬的先生女士们,大家好. 我是来自网易盘古游戏部的技术美术总监李正彪. 本次是我作为主讲嘉宾,第二次参加Ulite. 2012年第一次参加Ulite大会,我演讲主题是次世代手游画面的实现. 再次诚挚 ...
- 学习了下简单的光照模型
博客园 闪存 首页 新随笔 联系 管理 订阅 随笔- 50 文章- 53 评论- 57 学习了下简单的光照模型 龙书和SDK光照的例子也看到几个了,今天看<GPU 编程与CG 语言之阳春白 ...
- 【图形学】光照模型-从最简单开始到BRDF实现
不积跬步无以至千里,想要了解复杂的光照模型,就要从最简单的入手,看看他们是如何一步步"进化"成完善的样子.每天300字,看看能否在一个月能完结这个主题吧~ 首先从基本光照模型开始: ...
- 学习笔记——基本光照模型简单实现
Lambert光照模型,根据光照向量与顶点发现的夹角来确定光照强度: Shader "James/VP Shader/LightModel-Lambert" {Properties ...
最新文章
- 目标代码文件、可执行文件和库
- 【Python】Python字符串格式化问题:%、format()与f-strings
- 计算机组成原理xchg,8088数据传送指令-计算机组成原理与汇编语言-电子发烧友网站...
- MongoDB数据查询
- CLion + OpenCV 开发
- 【翻译自mos文章】使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方式。...
- android评论数据如何返回@用户_教你如何用JavaScript来驯服服务端返回的数据
- cad的lisp程序大集合_大数据成神之路-Java高级特性增强(CopyOnWriteArraySet)
- python 将二维数组旋转_python 二维数组90°旋转
- linux xargs命令
- HDU2012 素数判定【入门】
- 一天一个设计模式:工厂方法模式
- UML之用例图箭头方向
- python转cython_Cython的简单使用
- linux 按时间查找文件,linux 文件三种时间 和 find 按时间查找
- 浙大版c语言程序设计第三版邀请码,浙大版《C语言程序设计(第3版)》题目集 习题9-5 通讯录排序...
- 翻译Introduction+to+3D+Game+Engine+Design+Using+DirectX+9+and+CSharp
- IAR For ARM 7.8下载地址
- ECPC-2015部分题解
- 第三方应用微信登录接口