哈喽,上次我们有分享过Diffuse漫反射的基本光照原理,现在我们来聊一下另外一个反射,Unity中specular镜面高光反射解析。
在OpenGL中,光照使用的是简化的模型,即对现实的情况进行近似,这样处理起来会容易一些而且看起来效果也差不多。而这些光照模型都是基于我们对光的物理特性的理解。
要处理光照模型,我们有常见的三种多边形的着色方法,分别是Flat Shading,Gouraud Shading和Phong Shading。三种效果图如下:

1、Flat Shading
Flat shading是最简单的着色模型,打光时每个多边形只会呈现一个颜色,这个颜色由面法向量和光照计算得来。

在该模型中,每个多边形中只有多边形的面存在法向量,而其各个顶点没有。所以早期的flat shading计算是按照面为单位来进行计算的,计算结果并不很准确。
2、Gouraud Shading
Gouraud shading着色器模型,多边形的每个顶点都有一个法向量,它在着色时对每个法向量进行点乘反射计算,再通过双线性插值计算三角形区域中其它像素的颜色(比如中间像素的颜色)。

3、Phong Shading
Phong shading是三者之中最复杂的着色方法。它的特点是结合了多边形物体表面反射光的亮度,并以特定位置的表面法线作为像素参考值,以插值方式来估计其他位置像素的色值。在这种情况下,多边形中每个顶点都有一个法向量,通过这些法向量与光照计算,来得到每个点的颜色。在使用有限数量的多边形时,对顶点法向量进行插值可以给出近似平滑的曲面效果,所以phong会计算更多的点乘反射,运行也比上面两种更加复杂。

相比之下,flat着色模型比较简单,但是后面两种计算方法虽然都需要应用多边形的法向量计算出其公共顶点的法向量,也都需要计算各顶点处的光强,但在逐像素计算上还是有所区别。
Phong shading在计算的时候会将插值以后的像素点对应的法向量再次与光照进行计算,得到其着色,而gouraud shading的计算只是对多边形的每个顶点计算好着色,然后再使用双线性插值方法对上面像素进行计算,不会再将其与光照进行反射计算。
4、Obj File计算
上述三种模型在计算的时候法向量是从哪里来的呢,我们打开一个简单的obj格式的box文件如下;
V(Geometric vertices),表示物体中各个顶点的信息;

Vt(Texture vertices),表示贴图坐标点;

Vn(Vertex normals),顶点法线;

F(Face),所有顶点组成的面的信息

而这些数据中没有面法线的值,所以flat shading在计算光照的过程中,需要单独根据点法线对面法线进行计算。对GouraudShading 和 Phong Shading来说,就只需要取值然后一顿猛算就对了.
5、Specular高光反射
Phong shading的模型主要由三个分量组成:环境(Ambient),漫反射(Diffuse)和镜面或者高光反射(Specular),所以下面这张图中,前三个加起来就会得到最后一个的效果。

环境光照指的是即使在黑暗的情况下,环境中也仍然有一些光亮,所以物体几乎永远不会是完全黑暗的,所以我们用这个环境光照来给物体一些颜色。
而diffuse已经在上次分享过原理以及计算过程了,所以只需要加上我们这次探讨的specular就可以完成phong的实现。
Specular是模拟光泽物体上面出现的亮点,而镜面光照的颜色相比于物体的颜色会更倾向于光的颜色。
如果我们的物体是一面镜子,无论从哪个方向去看,都会看到镜面光照的最大值,真相如图:

对于specular,我们计算的是反射向量和视线方向的角度差,如果夹角越小,那么镜面光的影响就会越大。它的作用效果就是,当我们去看光被物体所反射的那个方向的时候,我们会看到一个高光。而具体在shader graph中的计算过程,我留着下一节来聊叭。
来源:Thepoly 公众号
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答此番调整与三年前网易高调“出海”的姿态形成强烈反差 与此同时,自2024年起,由知名MMO制作人Jack Emmert领导的奥......
收购之后,忽然科技承诺Cocos会全面回归永久免费、纯粹开源的路线,同时借助忽然科技的全球流量资源,为开发者提供更多价值它证明......
工具集中,dgaTension节点与dgaDelta节点发挥着关键作用它们基于每个顶点,对角色网格的两种状态进行细致比较,分别......
以Maya为核心的工业级制作流程,让中国团队掌握了从高精度建模、动态捕捉到光影渲染的全链路技术其前身“王琦电脑动画工作室”成立......
捕获一只少东家! 1 前言 Hello,大家好,我是火星时代广州校区3D模型大师班的学员苏颖,很荣幸可以和大家分享我第五阶段的......
有央企、也有外企,有影视公司、也有游戏公司!收喜报都收到手抽筋了!
又到了星仔最最最中意的晒喜报环节啦!!想想大家第一个月刚打开软件时的一脸蒙圈,夜夜肝作业到教室关门的咬牙坚持,再到毕业时拿上写......
同学您好!