GAMES101-图形学笔记(5)着色器(上)

1.Z-Buffer(深度缓存)

初始将每个像素深度设置为无穷,依次遍历每个三角形所覆盖的像素区域,若该区域的像素距离小于原本记录的,则更新距离为更近的,复杂度o(n)

2.着色(shading)

环境光着色只考虑局部,不考虑是否有物体挡住光源

3.漫反射

光线被均匀反射到各个方向

反射光线强度与夹角余弦成正比

能接受到的光线能量和距离的平方关系,I表示光源初始能量

漫反射得到的光线能量,kd表示该镜面反射系数,若为1表示平面光滑不吸收能量,为0则表示全部吸收不反射,平面有颜色也是因为吸收了光线,kd也可以是三维向量表示红绿蓝三通道的RGB值,以此定义一种颜色

4.高光

半程向量h与法线向量n比较接近时(即观察方向与镜面反射方向接近)能接收到高光,

为什么有指数p:不加指数,对夹角偏移容忍度太高,一般认为只有恨接近才能算高光

指数p越大,高光范围越小,k越大高光越亮

5.着色模型

Blinn-Phong反射模型=环境光+漫反射+高光

6.着色频率

左边这个每个面着色一次(Flat shading),中间顶点着色一次(Gouraud shading),右边每个像素着色一次(Pong shading),从左到右,着色频率升高

由下图可知,当面足够多、模型够复杂时,逐面着色效果和逐像素着色差不多,如果图形足够复杂,面已经超过像素数,Flat shading开销可能会更大

7.求顶点法线

将各平面法线求平均,也可以根据三角形面积加权平均更合理

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值