写在前面

首先这是一个系列的博客,将会详细记录我学习 Games(Graphics And Mixed Environment Symposium) 系列课程的笔记,以及进行详细的作业解析. 在说一些题外话,如果你想根据我这一系列博客深入学习Games系列课程,那么我需要提醒你一些内容,你需要考虑一下:
在2026年计算机图形学可以说计算机中的天坑专业,用到的技术复杂,理论难度大,需要学习的东西多,领域很广,但是与付出不成正比的是就业面及其狭窄,根本没有什么就业岗位,如果你希望赚大钱,或者家里急需用钱,那么我建议你不要选择图形学这个方向(除非你是顶级大佬)。如果你知道了这些,但你还是像我一样是个傻福(主播家里也不是很富有,不是躺着就能生活的家庭,需要靠主播带来一些经济来源,但是我放不下她啊T^T),追求自己所热爱的图形学,那么你可以继续。
这是这个系列的第一篇文章,我们将从Games101开始,games101这是主播第三次学了,会在原课程的基础上,补充一些内容。

这是games101-01的笔记,没什么太多可以解析的大多都是课程介绍。

计算机图形学的应用

计算机图形学 Computer Graphics 在多个领域有应用比如:

  1. Video Games,视频游戏领域
    1. 黑神话悟空
    2. 赛博朋克2077
  2. Moives 电影
    1. 星球大战系列
    2. 阿凡达
    3. 疯狂动物城
  3. Animation 动画
    1. 冰雪奇缘
  4. Design 设计
    1. Computer Aided Design (CAD)
    2. 家居场景设计
  5. Visualization 可视化
    1. 医疗信息可视化
    2. 疾病传播可视化
  6. Virtual Reality (VR) 虚拟现实
  7. Digital Illustration 数字插画
  8. Simulation 模拟
    1. 流体模拟
    2. 黑洞模拟
  9. Typography 字形

为什么我们学习计算机图形学

  • 创造可以交互的虚拟世界
  • 这需要我们理解我们物理世界的方方面面
  • 需要学习新的计算方法,显示方法,技术(例如现在与ai结合的方法,NeRF,3D Gaussian Splatting,世界模型等)
    图片来自https://sites.cs.ucsb.edu/~lingqi/
    Because Computer Graphics is awesome! 好看就完事

games101的课程内容

  • Rasterization 光栅化
  • Curves and Meshes 曲线与网格
  • Ray Tracing 光线追踪
  • Animation / Simulation 动画与模拟

光栅化

光栅化是一个将三维空间中的几何形体显示在显示设备上,这是一个常常用在实时渲染中的技术,实时的定义是在每秒钟能渲染出30副画面,也就是30 Frame per Second(FPS)。与实时渲染相对的是离线渲染(offline rendering)

曲线与网格

如何渲染一条曲线,曲面,如何使用简单的曲面去表示复杂的曲面等

光线追踪

光线追踪相对于光栅化来说非常的慢,但是它慢也有它慢的优点,因为使用光线追踪渲染出来的图像往往比光栅化出来的图像更精美,通常用在对速度要求不高的领域,比如动画,电影等。但是现在有一些新的技术能让光线追踪的速度变得非常快,比如使用硬件加速、新的算法等等。

动画与模拟

动画与模拟或者叫做仿真是让渲染出来的物体能够拥有类似物理交互的效果,例如扔一个小球,这个小球是如何根据物理进行反弹等等

什么是计算机图形学

个人理解:计算机图形学是一门理论学科,它研究的是如何将虚拟的3D世界映射到显示设备上,将抽象空间中的数学模型使用计算机表示出来,并呈现在显示设备中。并且计算机图形学涉及到多个领域包括但不限于,渲染、物理模拟/仿真、动画、几何等。我们常说的opengl,dx12,vulkan等都是计算机图形学的应用,他们是一套"渲染api",利用了计算机图形学的理论,将渲染操作封装成api,供程序员/研究人员方便的进行开发。 我们还要区分计算机视觉和计算机图形学,简单来说计算机视觉是将现实生活空间的模型表示为计算机中的数据模型,让计算机理解这这个世界,我认为NeRF、3D Gaussian Splatting也是一种计算机视觉中的,3D场景重建。
我们还需要区分图像/模型生成和计算机图形学的区别,其实我认为这两者的边界有点模糊,图像生成是通过计算机生成一张图片,比如文生图,stable diffusion。 最前沿的新技术的边界还是有点模糊的,但是你只需要记住计算机图形学不是api,是将抽象空间中的数学模型使用计算机表示出来,并呈现在显示设备中的学科就行了。

作业解析

这一节课没有作业。