[Games101笔记]Lecture7~9 初学shading
Specular highlights
镜面高光
Diffuse reflection
漫反射
Ambient lighting
环境照明
物体表面的漫反射所呈现出的效果
光通量看作不变的时候, 物体表面接收到的光线数量与角度有关
并且有能量守恒(远处能量衰减)
得出与视点方向无关的着色方式(n,l均为单位向量)
Kd为与漫反射有关的系数
布林冯模型-经验模型,保证高光被看到
利用半程向量,有方便计算的作用
指数p,降低容忍度,更精确
求顶点法线的方法:
将顶点相邻的面法线加权求一个平均
各个三角形的顶点对应一个u,v坐标 (约定俗成, 0≤u,v≤1)
对插值的理解
插值:三角形各顶点具有不同属性,如何使三角形内部的属性更加平滑得体现
若是想插值三维中的属性,需使用三维情况下的重心坐标,
(★注意:投影后,需要进行插值的点,其重心坐标基本都会改变)
双线性插值:所查询到的纹理坐标为非整数的情况
x可以看作是相似程度
效果对比
三线性插值:在维度上类似线性插值到双线性插值, 为了使过渡更自然, 利用Mipmap各层,实现非整数层的插值
Mipmap:快,不准确,且适用于方形区域的范围查询
不同层级👇,这是三线性插值的方法中的关键
近处出现明显锯齿, 远处则是摩尔纹
纹理大所引发的问题:由于视图关系, 最终着色后呈现在我们屏幕上的图像中, 表示远处图像的一像素所代表的实际纹理是很多的,
而我们一味的利用周围像素当做插值的基本,会损失信息
当然, 我们也可以把一个像素细分为更多个小的采样点, 即超采样,但计算量会很大
Mipmap的性质使其不适合用于不规则(非方形)的着色
于是引用了各向异性的着色方法
效果更佳
初学着色,还是有些懵,之后有时间尽量自己实现一下
本文来自博客园,作者:泥烟,CSDN同名, 转载请注明原文链接:https://www.cnblogs.com/Knight02/articles/16006968.html