在讨论任何一门学科之前,我们都绕不开一个根本性的问题:“为什么要有它?”——即,这门学科诞生的初衷是什么?它要解决怎样的问题?
对于计算机图形学(Computer Graphics,简称CG)来说,答案并不复杂,但却极具意义。 简单来说,它诞生是为了突破我们获取图像手段的天然局限。
现实世界中的图像获取方式——例如拍照、扫描或录像——本质上只能捕捉已经存在的场景。这些方式有几个不可避免的特点:
- 只能记录现实中已经发生或存在的事物;
- 无法自由创造不存在的场景或物体;
- 只能被动捕捉,缺乏交互性与动态生成能力。
然而,在很多领域,我们需要的图像远不止如此。例如:
- 影视动画中,我们需要创造不存在于现实世界的奇幻角色与场景;
- 游戏中,我们希望角色和环境可以实时互动、动态变化;
- 工业与医学中,我们需要生成可视化的设计模型或内部结构模拟。
这些需求共同指向了一个事实:现实世界的图像是有限的,而我们的需求是无限多样、动态且可交互的。
正因为如此,计算机图形学应运而生。它的目标,就是利用计算机强大的计算与模拟能力,在数字世界中“创造”图像——无论是静态的,还是动态的,甚至是可与用户交互的虚拟画面。
从这个角度看,计算机图形学不仅仅是图像的记录者,更是图像的“生成者”和“创造者”。
一般来说,计算机图形学可以大致划分为以下几个核心领域,每个领域专注解决图形生成与处理中的特定问题:
- 建模(Modeling) 负责描述和构建虚拟世界中的物体形状、结构与属性。建模的结果通常是几何数据(如顶点、边、面等),用于定义物体的空间形态。 例如:使用多边形、NURBS、体素等技术构建3D模型。
- 渲染(Rendering) 负责将建模与几何处理后的场景转换为最终的二维图像。 渲染过程涉及光照、材质、投影、阴影等,核心问题是如何模拟光与物体交互的过程,从而生成真实或风格化的图像。
- 动画(Animation) 负责为静态场景或物体赋予动态效果,如角色动作、布料摆动、粒子运动等。 关键问题是描述时间变化以及与物理规律的结合
当然实际上的分支领域不仅如此,这里我仅列举了最为广为人知且与我们主题最相关的几个概念。
在整个计算机图形学体系中,渲染无疑是最重要、研究最深入的方向之一。尤其是在《Games101》的课程体系中,几乎所有内容的核心都围绕着渲染展开。因此,本专栏将以渲染为主线,系统性剖析这一过程中的关键技术与原理,并力求补充《Games101》中未展开或略显简略的部分,带领读者构建一套更加完整而清晰的渲染知识体系。
那么,什么是渲染?
一句话概括:渲染,就是将建模(Modeling)所得的场景与物体数据,转换为图像的过程。 换言之,它的目标是从数据出发,模拟光与物体的交互关系,最终在屏幕上生成一张可以“被看见”的图像。
连载--待续