Games101温习

本文档介绍了计算机图形学的基础概念,包括变换矩阵、正射与透视投影、法线变换、光栅化过程、Z-Buffer、光照与着色模型。讲解了从视图和相机设置到最终图像渲染的完整图形管线,涵盖了MVP变换、光照计算和纹理映射等关键技术。同时提到了解决Z-fighting的方法和切线空间在法线映射中的应用。
摘要由CSDN通过智能技术生成

前言-课程目录
https://sites.cs.ucsb.edu/~lingqi/teaching/games101.html
https://www.bilibili.com/video/BV1X7411F744?p=18
http://games-cn.org/forums/forum/graphics-intro/

一、变换矩阵(lecture2-4.5,homework1)
1.1 视图、相机变换
参数:lookAt向量,up向量,位置。一般位置放在(0,0,0)以及lookat -z轴有很多方便之处,也会有一些问题。

所以Mview = Rview * Tview。Rview-1 乘上x(1,0,0)或者yz均满足 t(xt,yt,zt)等结果。且旋转矩阵为正交矩阵,所以Rview即为Rview逆的转置。
在这里插入图片描述

正射投影&&透视投影

正交投影参数:left,right,top,bottom,near,far。先平移中心点到原点,再将xyz轴缩放到【-1,1】。Mortho=Mscale * Mt。

Mt = Translate(-(l+r)/2, -(t+b)/2,-(n+f)/2);

Mscale= Scale(2/(r-l),2/(t-b),2/(f-n));

透视投影:fov,aspect,near,far,left,right。先从锥体挤压成长方体,再做Mortho即可。Mperspective = Mortho * Msquish。

对于挤压而言,z轴不会变化,由图2可以看出点xyz投影到xyz上满足。y = (n/z)y。x` = (n/z)x。可得M为

且Msquish * (x,y,n,1) = (x,y,n,1)
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题:z轴上被挤压后,z值变化情况。https://www.cnblogs.com/jackmaxwell/p/6851728.html(注意Zc=W,所以可约,z值在近平面变化巨大,集中在远平面(1.0)。解决z-fighting的一种措施是增加near值,以减小斜率,使得z不过于集中在1.0附近。

答:
在这里插入图片描述

1.2 法线变换矩阵(https://zhuanlan.zhihu.com/p/72734738)
法向量在视图空间下如果使用mvMatrix计算不再是正确法线,正确变换矩阵为( (MV)-1)T,推导公式可见链接。一般会在顶点着色器根据MVMatrix计算viewPos lightPos、根据normalMatrix计算normal,并传递到片元着色器。在片元着色器中以视图空间坐标系(好处在于cameraPos为(0,0,0)),根据光照模型计算光照结果。

1.3 轴角+罗德里格斯公式+四元数
二、光栅化&z-buffer(lecture5-6,homework2)
pipeline
MVP变换顶点坐标→ 齐次除法→ viewport变换→ 光栅化→ 光照着色

光栅化底层实现
在这里插入图片描述

核心算法
判断点在三角形内:顶点V012到点P的向量分别和V0V1,V1V2,V2V0叉乘
重心坐标插值
Z-buffer
三、光照&着色(lecture7-8,homework3)
参考实时渲染学习记录第三章

四、图形管线&纹理映射(lecture8-9)
重心坐标算法(eg:用于纹理坐标插值)
面积比
在这里插入图片描述

纹理抗锯齿方式:nearest/bilinear/cubic采样,mipmap/trilinear采样mipmap,各向异性
切线空间(normal/displacement map)
法线一般在切线空间中为(0,0,1)所以呈现为偏蓝色,切线空间z轴表示法线方向,xy分别表示uv值的变化方向。使用切线空间的原因在于不知道法线需要经过哪种mvp变换,所以统一记录切线空间法线方向。通过在不同坐标系中,计算不同的TBN切线变换向量,用于TBN*normalMap→ 当前坐标系的normal值。

利用TBN的逆 * light→ 切线空间的光照方向,进行反算也是一种可能性。

五、几何表示(曲线曲面)、生成、简化、细分、规范化(lecture10-12,homework4)(略)
六、光线追踪(lecture13-16,homework5光线与三角形相交 6加速结构 7 路径追踪)
光追+场景加速结构

七、材质和表现
八、毛发等高级topic(略)
九、相机、光场
十、颜色感知(略)
十一、动画(略)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值