我们就开始进入到着色(shading)的环节了,简单来说shading就是计算出每个采样像素点的颜色是多少。本文所要介绍的是局部光照模型,并不是真正准确的模型,但是优点是计算快,效果可以接受,至今依然广泛的运用在各种游戏之中。具体会从最基础的泛光模型,Lambert漫反射模型,再到Phong反射模型,Blinn-Phong反射模型一步步推进详细详解我们如何得到一个局部光照模型。
本次主要学习抗锯齿 SSAA 及 MSAA 算法和遮挡剔除 Z-Buffer 算法。
当我们把场景中的三角形光栅化显示到屏幕像素上时,会出现锯齿效果,其实很好理解,根据之前学习过的光栅化的流程,之前主要解决的是通过采样确定一个像素在不在这个三角形中的问题,现在要解决的就是锯齿问题。这类问题通常也叫做抗锯齿处理或者反走样(Antialiasing)。
简单来说光栅化的目的就是将想要展现的物体给真正现实到屏幕上的过程,因为我们的物体其实都是一个个顶点数据来表示的,如何表这些蕴含几何信息的数据转化为屏幕上的像素就是光栅化所考虑的东西。比如说一条直线,究竟该用哪些像素点去逼近它,一个三角形,又用哪些像素集合表示它,这都是光栅化的过程。本节主要讨论介绍两个直线光栅化和一个三角形光栅化算法以及优化。
M-V-P变换即Model(模型变换)、View(视图变换)、Projection(投影变换)的结合变换。我们知道我们在屏幕上看见的画面其实都是二维的,那么是怎么做到把三维空间中所展示的内容显示到一个二维空间上呢?这里就需要用到 M-V-P 变换与视口变换。让我们通过一个摄影的例子来理解到底这四个步骤的具体含义是什么:
最近在 Bilibili 看到了闫令琪大佬讲的图形学教程,直接上链接:https://www.bilibili.com/video/BV1X7411F744 感觉深受启发,作为一门图形学的入门教材,真的讲的通俗易懂,极力推荐感兴趣的同学一起来学习。学习的笔记通过整理以博客的形式展示,今天学习的是图形学中数学(尤其是线性代数相关)的内容 —— 变换矩阵 (Transformation Marices) 在图形学中的重要性不用多说,一切物体的缩放,旋转,位移,都可以通过变换矩阵作用得到。同时在投影变换的时候也有很多应用,本文将会介绍一些简要的变换矩阵以及齐次坐标的由来。