现代计算机图形学入门-闫令琪,课程笔记。
第一讲:计算机图形学概述 (Overview of Computer Graphics)
What is Computer Graphics?
计算机科学的一个分支领域,主要关注数字合成与操作视觉的图形内容。虽然这个词通常被认为是指三维图形,事实上同时包括了二维图形以及影像处理。
Why study Computer Graphics?
Applications
计算机图形学在生活中实际应用很多,以下都属于图形学的范畴:
- Video Games:只狼、无主之地
- Movies:黑客帝国(特效)、阿凡达(面部表情特效)
- Animations:疯狂动物城、冰雪女王
- Design:建模设计、家装设计
- Visualization(可视化):人体、地理、医学、科研
- VR/AR
- 数字作图
- Simulation:气象、光、黑洞
- Graphical User Interfaces:图形用户界面
- Typography:字体设计
Fundamental Intellectual Challenges
计算机图形学学习起来相对困难,主要在以下几个方面:
- 虚拟世界的创建与交互
- 需要对现实世界的一些物理知识有所了解
- 计算机方面的一些计算方法、显示技术
Technical Challenges
书接上文,简单说了一下可能会遇到哪些难点,这些后面都会详细讲,这里不展开。
注意最后一项:本课程的重点是讲解计算机图形学涉及的原理,所以并不会讲解一些实际编程的方法。
- Math of (perspective) projections, curves, surfaces
- Physics of lighting and shading
- Representing / operating shapes in 3D
- Animation / simulation
3D graphics software programming and hardware
Computer Graphics is AWESOME!
当然,也可以仅仅是觉得计算机图形学很酷炫所以要学他!
好之者不如乐之者~
Course Topics
课程概要,本课所讲内容大概分为四个方面:
Rasterization(光栅化)
这一块主要讲的就是如何将 3D 的图形、几何体正确的投影到屏幕上,且能实时(每秒至少渲染 30 帧)显示。
- Project geometry primitives (3D triangles / polygons) onto the screen
- Break projected primitives into fragments (pixels)
- Gold standard in Video Games (Real-time Applications)
Curves and Meshes(曲线和曲面)
如何表达光滑的曲线/曲面,如何通过细分的方法实现曲线/曲面,如何在物体运动的时候保持拓扑结构等等 ...
Ray Tracing(光线追踪)
- Shoot rays from the camera though each pixel
- Calculate intersection and shading
- Continue to bounce the rays till they hit light sources
- Gold standard in Animations / Movies (Offline Applications)
Animation / Simulation(动画/模拟)
主要是对真实世界中事物状态的模拟。
References
本课程没有教材,但是强烈推荐阅读一本书:《Fundamentals of Computer Graphics》—— Steve Marschner and Peter Shirley.
因为封面是一只老虎,所以又称“虎书”,推荐第三版或第四版。
END