GLSL着色语言的学习(二)光照模型
来源:互联网 发布:期货大盘软件 编辑:程序博客网 时间:2024/05/22 00:22
1.一般构造图形的四个步骤
(1)三维建模构造物体在场景中的几何结构(结构)
(2)转换成二维(投影)
(3)确定场景中可见面(消隐)
(4)计算可见面的颜色(光照)
2.光照知识
在这里需要补充一下物理、光学的知识。
物体的颜色取决于该物体对可见光的某种波长的吸收情况,显现的是该波长的互补光的颜色。
全部吸收,就是不反射,就是黑色
全部反射,就是不吸收,就是白色
下面的图就是互补色对照表,比如吸收一端,反射另一端
当光照到物体表面时,会产生反射光和透射光,他们的强度决定了物体表面的亮暗程度。而这些光中所含不同光的波长的比例就决定了物体表面的颜色。要计算这些波长的比例,在光学中和计算机图形学中还不一样。光学中的计算就略过了,计算机图形学中就用光照模型。
3.简单的光照模型,(光照模型有好多,连接在此。这里直说phong光照模型)
假设物体不透明,那物体表面的颜色仅由反射光(环境反射、漫反射、镜面反射)决定。
1. 环境光Ambient Light
环境光不需要进行特殊的物理计算,即直接将光源中的环境光部分与材质中的环境光部分相乘,其结果适用于物体上的任一顶点。
2.漫反射光(Diffuse light)
光照射在物体表面后,其反射光沿随机方向均匀的分布,即"漫反射”。反射光的强度与光照方向与表面法线的夹角theta相关。由于反射光方向随机,因此该部分的计算与观察点无关,而只与光线方向与法线相关。
3.镜面反射(Specular light)
phong光照模型总的公式:I = I(ambient) + I(diffuse) + I(specular)
I(ambient) = Ka*Ia
I(diffuse) = Kd*Id * (N dot L) 镜面反射光是由法线和光照方向决定
I(specular) = Ks * Is * (V dot R)n 高光是由视角向量和发射向量决定的
Ka ,Kd ,Ks 分别环境,漫射和镜面光照的系数。la, Id, ls分别环境,漫射和镜面光照的强度。N,V,R分别为法向量,视向量和反射向量。 n是镜面反射系数。
0 0
- GLSL着色语言的学习(二)光照模型
- GLSL着色语言的学习(一)渲染管线流程
- GLSL(着色器语言)
- glsl着色器 光照和纹理计算 (有用!)
- OpenGL 着色器语言GLSL的数据类型
- 着色器-光照模型
- glsl着色器(c语言)
- WebGL 着色器语言(GLSL ES)
- OpenGL着色语言GLSL
- OpenGL着色语言GLSL
- 基于几何着色器的模型“爆炸”效果(Geometry Shader)【OpenGL】【GLSL】
- 计算机图形学笔记(二),光照模型(cg语言的范例)
- 【OpenGL ES】着色语言GLSL
- GPU编程之GLSL(六)——着色与逐顶点光照
- 探究OpenGL光照模型的着色器实现
- OpenGL: WIN7的64BIT下OPENGL着色语言(GLSL)开发环境配置
- 07 WebGL 着色器编程语言GLSL ES的取样器(纹理)
- 06 WebGL 着色器编程语言GLSL ES的数组
- HDU 1800-Flying to the Mars(trie树)
- IOS 委托和协议区别和联系
- ARM_s5pv210_arm_5(下)
- 昌大软院大神养成计划之网页设计之路第六天
- easyui datagrid 动态生成列
- GLSL着色语言的学习(二)光照模型
- java 静态方法和实例方法的区别
- vim文档设置
- 栈和堆的区别
- Cocos2d-x 3.8 如何加载.csb文件
- LeetCode 第12题 整数转罗马字符
- 转 微信iOS 9适配总结
- netstat sysctl 查看tcp连接的当前状态
- C+Primer+Plus学习笔记-第一章