GAMES101_前置篇
图形学应用
这里不赘述了
为什么学习图形学?
采用课件中的话吧,见下图
学习内容
- 光栅化(OpenGL以及shader如何运作)
- 曲线和曲面
- 光线追踪
- 动画与模拟
光栅化
Q1:什么是光栅化?
A1:将三维物体显示在屏幕上
Q2:实时计算机图形学的定义,什么叫实时?
A2:一秒钟呈现30帧的画面,否则叫off-line
几何
- 如何表示光滑的曲线
- 如何表示光滑的曲面等等
光线追踪
主要使用集中在于动画和电影等,但是绘制很慢。
动画、模拟或者仿真
将真实世界的相关效果进行介绍,以及前沿知识普及
不包括内容
- 相关工具的使用:OpenGL、DirectX等API使用
- 计算机视觉:即一切需要猜测、理解的内容等,比如根据一张图片重建三维模型等。
- 不涉及硬件编程
课程网站链接
http://www.cs.ucsb.edu/~lingqi/teaching/games101.html
书籍推荐
虎书《Fundamentals of computer graphics》
作业设置
- 提供虚拟机
- 提供代码框架
- 开发语言:C++
- 环境配置:Cmake,集成开发环境
线性代数基础知识
图形学基础依赖
- 基础数学知识:线代、微积分、统计
- 物理基础:光学、力学
- 其他:信号处理(走样和反走样),数值分析
- 一点点美学
包含内容:
- 向量
- 点乘
- 叉乘
- 矩阵
向量(Vector)
数学中叫向量,物理中叫方向。
- 是什么?表示一个方向,如下图中就是从A指向B的方向
- 计算方式:终点减去起始点,如果平移仍然表示的是同一个向量(只要指向一个方向,则表示同一个)
- 长度
向量长度
- 单位向量(Vector Normalization )的使用
- 向量长度表示为: ∣ ∣ a ⃗ ∣ ∣ ||\vec a|| ∣∣a∣∣
- 单位向量是表示长度为1,计算公式为 a