图形学(7)光照模型
2016-07-27 21:24
417 查看
光源
1.点光源
位置,发射光颜色,四周发散
2.无穷远光源
单方向照明,光路几何平行
仅需定义发射方向向量和颜色
3.辐射强度衰减
fl,radatten=⎧⎩⎨⎪⎪1.0,1a0+a1dl+a0d2l,如果光源在无穷远处如果光源是局部光源
4.方向光源和投射
位于光源方向范围之外的对象得不到该光源的光照
一个方向向量加一个角度范围:光锥
Vobj⋅Vlight=cosα把任意一光锥角度范围限制在0∘<θl<90∘,则当cosα≥cosθl时,对象位于投影光内
Vobj:光源到对象位置的单位向量Vlight:光源方向的单位向量
5.角强度衰减(只有方向光源(即投影光源)才有角强度衰减)
圆锥轴光强最大,离开圆锥轴时逐渐减弱
fl,angatten=⎧⎩⎨⎪⎪⎪⎪1.0,0.0,(Vobj⋅Vlight)al,光源不是投影光源Vobj⋅Vlight=cosα<cosθl其他
表面光照效果
表面光学特性:透明度,颜色反射系数,各种表面纹理参数
不透明:反射,吸收
粗糙颗粒:漫反射
漫反射光颜色称为对象的颜色
镜面反射
一个表面上的反射是 全体光源光的反射 加上 其他被照明对象反射光的反射
基本光照模型
环境光,全局漫反射
漫反射
理想漫反射模型(朗博反射体):入射光在各个方向上以相同强度发散,与观察位置无关
朗伯余弦定律:计算理想漫反射模型表面任意一点反射出的辐射光能量
在与对象表面法向量夹角为ϕN的方向上, 每个面积为ΔA的平面单位所发散的光线与cosϕN成正比。
该方向上的光强度可用单位时间辐射能总量除以表面积在辐射方向上的投影来计算强度=单位时间辐射能投影面积∝cosϕNΔAcosϕN=常数
故朗伯反射,光强在所有观察方向上都相同
3.
1.点光源
位置,发射光颜色,四周发散
2.无穷远光源
单方向照明,光路几何平行
仅需定义发射方向向量和颜色
3.辐射强度衰减
fl,radatten=⎧⎩⎨⎪⎪1.0,1a0+a1dl+a0d2l,如果光源在无穷远处如果光源是局部光源
4.方向光源和投射
位于光源方向范围之外的对象得不到该光源的光照
一个方向向量加一个角度范围:光锥
Vobj⋅Vlight=cosα把任意一光锥角度范围限制在0∘<θl<90∘,则当cosα≥cosθl时,对象位于投影光内
Vobj:光源到对象位置的单位向量Vlight:光源方向的单位向量
5.角强度衰减(只有方向光源(即投影光源)才有角强度衰减)
圆锥轴光强最大,离开圆锥轴时逐渐减弱
fl,angatten=⎧⎩⎨⎪⎪⎪⎪1.0,0.0,(Vobj⋅Vlight)al,光源不是投影光源Vobj⋅Vlight=cosα<cosθl其他
表面光照效果
表面光学特性:透明度,颜色反射系数,各种表面纹理参数
不透明:反射,吸收
粗糙颗粒:漫反射
漫反射光颜色称为对象的颜色
镜面反射
一个表面上的反射是 全体光源光的反射 加上 其他被照明对象反射光的反射
基本光照模型
环境光,全局漫反射
漫反射
理想漫反射模型(朗博反射体):入射光在各个方向上以相同强度发散,与观察位置无关
朗伯余弦定律:计算理想漫反射模型表面任意一点反射出的辐射光能量
在与对象表面法向量夹角为ϕN的方向上, 每个面积为ΔA的平面单位所发散的光线与cosϕN成正比。
该方向上的光强度可用单位时间辐射能总量除以表面积在辐射方向上的投影来计算强度=单位时间辐射能投影面积∝cosϕNΔAcosϕN=常数
故朗伯反射,光强在所有观察方向上都相同
3.
相关文章推荐
- C#实现图形位置组合转换的方法
- C#实现判断图形文件格式的方法
- C#实现图形路径变换的方法
- php生成图形验证码几种方法小结
- CentOS的图形安装及初始环境设置教程
- C#实现图形区域组合操作的方法
- php实现图形显示Ip地址的代码及注释
- Java Web开发之图形验证码的生成与使用方法
- 基于Echarts 3.19 制作常用的图形(非静态)
- android中图形图像处理之drawable用法分析
- Android编程开发之在Canvas中利用Path绘制基本图形(圆形,矩形,椭圆,三角形等)
- Android开发之图形图像与动画(五)LayoutAnimationController详解
- C++实现图形界面时钟表盘代码
- C++实现二维图形的傅里叶变换
- Java在Linux下 不能处理图形的解决办法 分享
- python开发之tkinter实现图形随鼠标移动的方法
- Linux下基于GTK的C/S聊天软件
- 基于Echarts 3.19 制作常用的图形(非静态)
- 北京图王软件开发有限公司产品介绍
- PB做的史上最强的矢量画图软件(VISIO也要低头)