Blinn通过引入平均向量,在一定条件下加快了镜面反射的计算,因此整个模型通常称为Blinn-Phong光照模型。 为了获得真实的光照,还有一个重要的部分是真实感的阴影,这通常是通过判断某个方向上的光能否“看到”物体的表面决定的。如果不能看到,就说明光打不到表面上,这个表面就在阴影中。我们要考虑的光还不止发光表面,...
参考漫反射,我们可以通过镜面反射向量与观察向量之间的夹角来计算物体的高光,Phong 反射模型就是这样计算的。 Blinn 就在这里提出了计算高光的优化,他提出了半角向量,通过半角向量我们可以很轻松的计算物体的高光。这就是为什么称作 Blinn-Phong 反射模型。 半角向量等于光线向量加上观察向量。 通过半角向量与法线的夹角...
Blinn-Phong光照引入了一个概念,半角向量 半角向量 半角向量计算公式, 视角方向 + 光照方向 float3 ViewDir=normalize(i.viewDirWS);//归一化视角方向float3 NormalDir=normalize(i.normalWS);float3 LightDir=normalize(mylight.direction);//获取光照方向float3 halfDir=normalize(ViewDir+LightDir);//半角向量,...
通过简单的对比发现,在相同条件下Blinn-Phong的高光范围要比Phong更大,写实效果Phong光照模型更好。但算法简单,运行速度快是Blinn-Phong光照模型的优点。
Shader系列(3):Blinn-Phong光照模型 图形学界大牛Jim Blinn对Phong模型进行了改进,提出了Blinn-Phong模型。Blinn-Phong模型与Phong模型的区别是,把dot(V,R)换成了dot(N,H),其中H为半角向量,位于法线N和光线L的角平分线方向。Blinn-Phong模型可表示为:
1.环境光照(Ambient Lighting) 2.漫反射(Diffuse Reflection) 3.镜面高光(Specular Highlight) 结束语 序言 作为在这个博客上写的第一篇博文,我准备从图形学最基础的部分开始,毕竟也才刚刚学习图形学的知识,在学习Blinn-Phong模型中遇到了一部分困难,毕竟没点基础性的存货是说不过去的。 然后是关于Blinn-Phong模型...
光照模型氛围 diffuse 漫反射, specular 镜面反射,两部分。 diffuse 部分 通常使用 lamber or 半 lambert , 核心是: float lambert = dot(L,N) * 0.5 + 0.5; Specular部分 Specular 实现分成2种,一个 phong, 一个 blinnPhone Phong : float R = reflect(-L,N) float phong = clamp(dot(R,V),0,1)...
Blinn-Phong光照模型是在Phong的基础上改造过来的,我们知道Phone光照模型中:光照 = 漫反射(Diffuse) + 高光反射(Specular) + 环境光(Ambient)漫反射和环境光的计算方式,Blinn-Phong和Phong是相同的,唯一的区别在于高光反射的计算。在此之前,请先对Phong光照模型有比较清楚的了解,具体地可以查看光照模型的...
入门Shading,BlinnPhong和Phong光照模型详解如下:一、着色简介 着色是计算机图形学中的关键过程,用于赋予物体表面及特定区域色彩,并控制其明暗效果。通过着色,可以为物体施加特定的“材质”,使每个表面点都有独特的表现,从而模拟出各种材质和明暗效果。二、BlinnPhong光照模型 定义:BlinnPhong反射光模型是...
BlinnPhong光照模型是一种广泛应用于计算机图形学中的光照计算方法,它融合了环境光照的漫反射和镜面反射效果,为场景渲染提供了逼真的视觉体验,并简化了复杂的光照计算过程,提升了渲染效率。以下是关于BlinnPhong光照模型的详细解答:1. 光照效果分解: BlinnPhong模型将环境光照分解为漫反射和镜面反射两部分...