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