0%

项目中使用 Lua 场景较多,有一些关于 Lua 编码的技巧或者常用操作,有时还会对 Lua 的一些API进行扩展,特此记录一下,随时会补充,另外不当的写法会导致性能问题,应该尽量避免,Roberto Ierusalimschy 的 《Lua Performance Tips》 这篇文章提供了一些非常有用的建议。关于如何让 Lua 变得更好用这个问题,逐步完善呗,遇到的优秀的 Lua 库我也会更新在这里~

贝塞尔曲线、分段贝塞尔曲线和贝塞尔曲面是几何部分的第二讲次的主要内容,贝塞尔曲线是计算机图形学中相当重要的参数曲线。于1962年由法国工程师 Pierre Bézier 所发表,贝塞尔曲线完全由其控制点决定其形状,N个控制点对应着N-1阶的贝塞尔曲线,并且可以通过递归的方式来绘制。

几何形体是计算机图形学当中十分重要的一部分内容,无论是人物,风景,建筑,都离不开几何,如何表示好各种各样的模型是几何部分的主要研究内容之一。作为几何部分的第一部分主要介绍隐式曲面和显式曲面的特点,以及二者分类之下各自主要的几何表现形式。

《重心坐标与插值、纹理映射》 的内容中,我们详细介绍了纹理映射的概念,以及纹理贴图过大过小带来的种种问题与解决方案,但纹理映射的应用远不止单单作为diffuse的反射系数来表现出不同颜色。本文会详细介绍一些主要的纹理映射的应用及其原理,首先从环境光贴图开始说起。

本节会详细介绍重心坐标的定义以及解法,并简略的提及重心坐标在图形学中的运用。其实插值在计算机图形学中是一个非常通用的概念,无论是坐标、还是颜色、还是深度、都可以作为插值的目标,因为插值的本质就是加权平均,理解这个思想很重要。另外会介绍纹理映射,以及纹理过大、纹理过小的解决方案,如:双线性插值、三线性插值、Mipmap、各向异性过滤、EWA。

我们就开始进入到着色(shading)的环节了,简单来说shading就是计算出每个采样像素点的颜色是多少。本文所要介绍的是局部光照模型,并不是真正准确的模型,但是优点是计算快,效果可以接受,至今依然广泛的运用在各种游戏之中。具体会从最基础的泛光模型,Lambert漫反射模型,再到Phong反射模型,Blinn-Phong反射模型一步步推进详细详解我们如何得到一个局部光照模型。

本次主要学习抗锯齿 SSAA 及 MSAA 算法和遮挡剔除 Z-Buffer 算法。

当我们把场景中的三角形光栅化显示到屏幕像素上时,会出现锯齿效果,其实很好理解,根据之前学习过的光栅化的流程,之前主要解决的是通过采样确定一个像素在不在这个三角形中的问题,现在要解决的就是锯齿问题。这类问题通常也叫做抗锯齿处理或者反走样(Antialiasing)。

简单来说光栅化的目的就是将想要展现的物体给真正现实到屏幕上的过程,因为我们的物体其实都是一个个顶点数据来表示的,如何表这些蕴含几何信息的数据转化为屏幕上的像素就是光栅化所考虑的东西。比如说一条直线,究竟该用哪些像素点去逼近它,一个三角形,又用哪些像素集合表示它,这都是光栅化的过程。本节主要讨论介绍两个直线光栅化和一个三角形光栅化算法以及优化。