做本地地旅游网站,企业建一个网站需要多少钱,阿坝州做网站公司,网站建设及托管合同材质#xff1a;
决定物体在渲染过程中最终视觉呈现的关键因素之一#xff0c;它通过一系列光学#xff08;投光物#xff09;和物理参数#xff08;反光度#xff0c;反照率、金属度#xff0c;折射率……#xff09;准确模拟现实世界中的材料特性#xff0c;从而增…材质
决定物体在渲染过程中最终视觉呈现的关键因素之一它通过一系列光学投光物和物理参数反光度反照率、金属度折射率……准确模拟现实世界中的材料特性从而增强虚拟环境的逼真度和沉浸感。
float spec pow(max(dot(viewDir, reflectDir), 0.0), material.shininess);
首先看一下冯氏光照模型镜面反射的计算
将视线反射光线点乘角度越小0——90cos越大通过max控制结果非负当90度结果为负值取0【0——1】通过pow取反光度^幂当反光度越高函数的曲线会陡增的越明显反光度越高反射光的能力越强散射得越少高光点就会越小
注意
物体反光度很高时没有什么大影响大多数观察方向与反射方向的pow结果都很小只有一小部分很亮大部分都是暗的这种一个小圆圈点的断层几乎每什么影响物体反光度很低时高光 的范围会很大当视线反射光线90度结果为负值取0会出现了很大的的断层亮部--暗部对于漫反射angle为负数是正确的入射光线法线点乘如果90度光线位于物体片段的下方确实不会产生漫反射结果。
Blinn-Phong着色模型解决了断层问题
对镜面光模型的处理上有一些不同不再依赖于反射向量 半程向量 即光线与视线夹角一半方向上的一个单位向量当半程向量与法线向量越接近时镜面光分量就越大。当视线正好与反射向量对齐时半程向量就会与法线完美契合当观察者视线越接近于原本反射光线的方向时镜面高光就会越强半程向量与表面法线之间的夹角都不会超过90度除非光源在表面以下 首先如果视线在表面下我们看不到片段所以不必关心它的最终结果光源在表面以下会照射底面而照射不到上面所以视线和光线都应在表面上方。而法线距离半程的最大值为视线和光线都为0 / 180 度时
计算半程
vec3 halfwayDir normalize(lightDir viewDir);
spec pow(max(dot(normal, halfwayDir), 0.0), 16.0); 向量相加入射光线 视线 / |入射光线 视线 |正规化只关心半程向量方向不关系长度 计算Blinn-Phong的镜面光……只需要dot半程法线…… 半程向量与表面法线的夹角通常会小于观察与反射向量的夹角意味着相同片段位置dot结果更大pow结果更大高光散射范围广所以应将镜面反光度设置更高一点让高光范围更集中