GAMES101 现代计算机图形学入门(一)

教授的一句话说的很好越真实,越困难,的确如此,一些我们司空见惯的事物在计算机实现上才是最困难的。

1. 为什么要学习计算机图形学?

  • 因为计算机图形学有很多应用,包括但不限于:视频游戏,电影,动画,设计,可视化,VR&AR,电子绘画,仿真模拟,GUI图形用户接口,Typography(字体)等方面。闫教授列举了很多生动形象的例子,受益匪浅。

在最后有关Typography中,提到了点阵和矢量图的概念,字体中常常用到的一句有意思的话是

The Quick Brown Fox Jumps Over The Lazy Dog

因为这句话用尽了所有英文字母hhh。

  • 图形学中有一些基础的挑战 Fundamental Intellectual Challenged

    • Creates and interacts with realistic virtual world
    • Requires understanding of all aspects of physical world
    • New computing methods, displays, technologies 裸眼3D NS听起来真不错

    教授表示不会在这门课中涉及硬件的编程,这都是小道

Computer Graphics is AWESOME

2. 本门课程要包含哪儿些东西

  • Rasterization 光栅化(openGL,shader这些东西是如何运作的)
  • Curves and Meshes 曲线和曲面
  • Ray Tracing 光线追踪,如何在电影或动画里面实现真实感画面的
  • Animation / Simulation 动画和模拟

3. 课程开始啦

什么是光栅化Rasterization

Project geometry primitives (3D triangles / polygons) onto the screen

Break projected primitives into fragments (pixels)

Gold standard in Video Games (Real-time Applications).

教授解释的很通俗:将三维的几何形体显示在屏幕上,就是光栅化。这是实时游戏的主要应用。

在计算机图形学下面,实时的定义是每秒可以达到30 fragments即每秒30帧,能达到这样的级别就是实时,否则就是离线(Off Line)

几何方面Curves and Meshes

如何表示简单的曲线和一些简单的曲面

光线追踪 Ray Tracing

能够生成非常真实的画面

Animation / Simulation

这部分的演示真的帅诶,布料自然滑落受重力而产生的褶皱,看起来太酷炫了

  • Key frame animation
  • Mass-spring System

最后,闫教授解释了为什么不教OpenGL或者DirectX的原因,我们应该学会图形学背后的原理,而不应该学习如何使用这种API。

关于计算机图形学和计算机视觉,一切需要猜测的都是计算机视觉的内容

最后有一门大作业,写出一点渲染模块,听起来感觉很不错。

最后的最后,强烈推荐虎书的阅读,强烈推荐阅读虎书。

IDE推荐:Visual Studio