Cook-Torrence Illumination Model 的一些数学说明

Cook-Torrence 光照模型如下:

  

这个Io就是计算后最终的光强,主要是用来计算镜面反射光,漫反射和环境光的计算和Phong模型一致。

F:Fresnel反射系数。主要用来说明反射光强度占入射光强的比例。《3D计算机图形学(opengl版)》中由介绍。Fresnel系数和Snell系数的关系为:

Fresnel确定反射或者折射的光的能量大小,就是亮度。Snell则是确定反射和折射的方向。

D:微平面分布函数。它的一般表达式为D = f(θ),其中D是一个数值,它代表了一个平面中的能够将入射光线反射到和视线方向一致的(形成镜面反射)微平面所占的比例,Θ为半角(二分)向量和平面(不是微平面)法向量的夹角,当夹角为0时,表示该平面能够将入射光线反射到人眼中,形成镜面反射,f 时一个概率函数。可以通俗的描述为:当θ越小时,说明在平面中能够将光线反射到视线方向的微平面占的概率(比率)越大。f的就是各种概率函数,由很多种选择,如高斯概率函数,Beckmann函数等,其本质上都是概率函数。

G:几何衰减系数。表示微平面在反射光线过程中被遮挡和被屏蔽光线的比率,具体参考《3D计算机图形学(opengl版)》。

注意:以上shader代码要求写在fragment shader中,因为在fragment shader中各种向量,坐标都被插值,一个像素对应的物体表面可以看成一个微平面,各种被插值以后的向量,坐标就可以看成是这个微平面的向量,坐标,再利用相关的概率,遮挡等公式计算像素值。

时间: 2024-10-26 23:29:26

Cook-Torrence Illumination Model 的一些数学说明的相关文章

Unity3D for VR 学习(9): Unity Shader 光照模型 (illumination model)

关于光照模型 所谓模型,一般是由学术算法发起, 经过大量实际数据验证而成的可靠公式 现在还记得2009年做TD-SCDMA移动通信算法的时候,曾经看过自由空间传播模型(Free space propagation Model),目的为了得出移动信号的传播损耗.当时是基于普通的PC实时运算,非常非常耗时–如北京五环内的传播模型渲染GIS图用了超过20分钟. 光照模型来源有2类: 一类是基于学术论文的算法,如Lambert模型.Phong模型. 另一类基于算法的变种–在实际生产实践中修正得到的模型,

数学类杂志SCI2013-2014影响因子

ISSN Abbreviated Journal Title Full Title Category Subcategory Country total Cites IF        2013-2014 IF 2012-2013 IF 2011-2012 IF 2010-2011 IF 2009-2010 IF 2008-2009 IF 2007-2008 5-Year Impact Factor Immediacy Index Articles Cited Half-Life Eigenfa

计算机图形学名词解释

转自 http://blog.csdn.net/lwfcgz/article/details/39254743 3D三维(three dimension).客观世界中静止的物体都是三维的,在计算机图形学中常在一定的坐标系中用(x,y,z)坐标系列表示物体. 3D modeling3D建模.用三维坐标来描述物体的形状.在各种计算机图形应用领域中有不同的三维建模方法,用不同的算法来描述这些领域中的物体和对象. 3D transformation3D变换.在三维空间中把物体的三维坐标从一个位置变换至另

GLSL逐顶点光照[转]

转载:http://blog.csdn.net/hgl868/article/details/7872350 引言 在OpenGL中有三种类型的光:方向光(directional).点光(point).聚光(spotlight).本教程将从方向光讲起,首先我们将使用GLSL来模仿OpenGL中的光. 我们将向shader中逐渐添加环境光.散射光和高光效果. 后面的教程中我们将使用逐像素光照以获得更好的效果. 接下来我们将实现逐像素的点光和聚光.这些内容与方向光很相近,大部分代码都是通用的. 在卡

39. Volume Rendering Techniques

Milan Ikits University of Utah Joe Kniss University of Utah Aaron Lefohn University of California, Davis Charles Hansen University of Utah This chapter presents texture-based volume rendering techniques that are used for visualizing three-dimensional

Unity 5.4大赞:HTC Vive经典The lab渲染器开源

HTC Vive提供了一个不错的免费VR demo,最近1周仔细体验了一番. 仔细看了其安装文件,竟然是Unity 5.4beta版本(通过查log,知道Valve公司用的是最新的5.4.0b11版本开发的),的确令人信心大振: 要知道,某些创业公司为了打差异化竞争,提高技术门槛,对外称Unreal 4的画质比Unity 5优秀很多,这让很多在Unity技术栈下的公司有些郁闷–多年来Unity画质始终不如Unreal逼格高啊. The Lab 程序路径:Steam\steamapps\commo

BumpMapping [转]

http://fabiensanglard.net/bumpMapping/index.php Fabien Sanglard's Website Home About FAQ Email Rss Twitter March 19th, 2009 BumpMapping with GLSL When I got started learning bump mapping and parallax mapping, I found a lot of tutorial involving a sim

探寻次时代渲染 - CryEngine2

Advanced Real-Time Rendering in 3D Graphics and Games Course – SIGGRAPH 2007 探寻次时代渲染 - CryEngine2 作者:Martin Mittring    Crytek 游戏公司 翻译:潘曦 (译文里的(pancy:XXX)为译者注) (本系列文章由pancy12138编写,转载请注明出处:http://blog.csdn.net/pancy12138) 图1:来自于获奖游戏"孤岛危机"的一张截图,它的

深度学习之NLP

知识点 """ 1) from gensim.model import Word2Vec import jieba 2) opencc :将繁体字转换为简体字 转换命令:opencc -i texts.txt -o test.txt -c t2s.json 3) 自然语言处理: 1.拼写检查.关键字检索 2.文本挖掘 3.文本分类 (二分类) 4.机器翻译 5.客服系统 6.复杂对话系统 4) p(S)=p(w1,w2,w3,w4,w5,…,wn) =p(w1)p(w2|w1