然后我们对我们phone反射模型进行一些升级,来得到我们的Blinn-phone反射模型 在phone反射模型当中,去计算反射光和我们观察方向的夹角的计算量是很大的,所以blinn-phone就用了其他的方法去代替这一夹角 而这里的代替品是求,入射光和反射光的半程向量h:两个向量的和然后单位化,和物体的表面法线n,就可以减少很多的计算量...
Phone 模型有一些缺点,所以后来出现了改进的模型,Blinn-Phone,对 Phone 模型进行了微调。Phone 模型的高光强度,是由光线的反射方向与视野方向的夹角决定的。而 Blinn-Phone 的模型,只是把反射方向和视野方向换成,法线方向,和视野与光线方向的中间向量之间的夹角。看下面的图 Blinn-Phone 高光反射公式: 最终颜色 = ...
BlinnPhone球谐函数是一种基于球谐函数的光照算法,它可以用来计算光照的强度和颜色,使得渲染出来的图像更加真实。 BlinnPhone球谐函数的优点在于它可以用来计算光照的强度和颜色,使得渲染出来的图像更加真实。这种算法可以用来计算光照的强度和颜色,使得渲染出来的图像更加真实。BlinnPhone球谐函数可以用来计算光照的强度和颜色...
Unity Shader - Blinn-Phone Lighting 布林-冯氏光照模型(Blinn-Phong Lighting)是对冯氏光照模型的优化,有差异的地方在于参与点乘运算的元素从视图方向与光源方向替换为视图方向与光源方向的夹角平分线和平面法线向量。 镜面高光的强度由向量(n)与向量(h)的夹角的余弦值来决定 布林-冯氏光照模型(Blinn-Phong Lighting)...
Blinn-Phong反射模型 前言 在这一章中,实现光线与对象表面之间的相互作用。目的是在渲染流水线中增加着色功能,所以这里只讨论最基础的局部光照模型。与全局光照不同,在局部光照模型中,着色点的颜色值只取决于着色点表面的材质属性、表面的局部几何性质以及光源的位置与属性,而与场景中其他的表面无关。
很多做动画的朋友,天天都跟各种各样的shader打交道,比如最经典的lambert,blinn,phong这三个shader类型。可是朋友们有没有考虑过这个问题,它们为什么要起这样的名字呢?其实早在七八年前俺刚刚接触cg的时候,也曾经很疑惑这个问题。后来在一个偶然的机会,才知道了其中原委。原来它们都是人名啊!lambert...
今天咱们就来实现Phone和Blinn-Phong光照模型。 Phone 顶点结构体 首先修改顶点结构体添加法线。 structVertex{Vertex(floatx,floaty,floatz,floatnx,floatny,floatnz,floatu,floatv):position(x,y,z),normal(nx,ny,nz),texCoord(u,v){}XMFLOAT3position;XMFLOAT3normal;XMFLOAT2texCoord;}; ...
为了理解这一步意味着什么,我们将定义我们想要在这里实现的 Blinn-Phong 着色模型,使用一个简单且众所周知的照明模型:环境/漫反射/镜面反射模型(ambient/diffuse/specular model)。我们将首先讨论基本的漫反射照明,然后了解如何添加环境照明,最后深入研究镜面反射照明,了解如何在着色器中实现这三个模型。
然后我们对我们phone反射模型进行一些升级,来得到我们的Blinn-phone反射模型 在phone反射模型当中,去计算反射光和我们观察方向的夹角的计算量是很大的,所以blinn-phone就用了其他的方法去代替这一夹角 而这里的代替品是求,入射光和反射光的半程向量h:两个向量的和然后单位化,和物体的表面法线n,就可以减少很多的计算量...
然后我们对我们phone反射模型进行一些升级,来得到我们的Blinn-phone反射模型 在phone反射模型当中,去计算反射光和我们观察方向的夹角的计算量是很大的,所以blinn-phone就用了其他的方法去代替这一夹角 而这里的代替品是求,入射光和反射光的半程向量h:两个向量的和然后单位化,和物体的表面法线n,就可以减少很多的计算量...