OpenGL 相关文档
OpenGL 3.3教程翻译 OpenGL 3.3 Tutorial Translation
Swiftless Tutorials(OpenGL, GLSL & WebGL Tutorials for the computer graphics beginner)
OpenGL Tutorials (www.mbsoftworks.sk)
OpenGL Mac环境搭建 相关文档
OpenGL 学习 01 - Mac 搭建 OpenGL 环境
https://github.com/liutingluhe/OpenGLDemo
https://github.com/ihaiucom/learn.opengl/XCode_Workspace
OpenGL API 相关文档
OpenGL 教程集
vscode 环境搭建
Visual Studio 环境搭建
如何用VS2017C++写hello world程序---从下载到新建项目
矩阵变换 相关文档
光照模型 相关文档
OpenGL学习脚印: 光照基础(basic lighting)
数学 相关文档
OpenGL基础: 向量和矩阵要点(math-vector and matrices)
OpenGL学习脚印: 向量和矩阵要点(math-vector and matrices)
向量
零向量
vec = vec(0, 0, 0)
单位向量
vecNorm.length = 1
三角形法则和平行四边形法则
c = a + b a + b = b + a
向量点积(dot product)
A.B=|A||B|cosθ
向量A在B上的投影 AB=|A|cosθ
向量点积的应用
- 向量点积的一个重要应用在于,可以快速求出两个向量的夹角余弦。 由公式1可知,两个向量的夹角余弦计算公式为:
- 当a和b都是单位向量时,两单位向量的夹角余弦值为:
- 公式6能快速计算出两个单位向量的夹角余弦,在计算光照时经常使用。 另外当一个向量为单位向量时:
向量的叉积(cross product)
叉积的几何意义 叉积的模可以视为以a和b为两边的平行四边形的面积 其中|b|sinθ|b|sinθ可以视为平行四边形的高,计算后a×ba×b的模即为平行四边形的面积。
叉积的应用 在OpenGL图形编程中,叉积经常在已知两个方向时,用来确定第三个方向。例如已知相机的朝向dir和侧向量side,则相机的顶部向量为: up=dir×sideup=dir×side,后面再介绍相机矩阵时会用到。
投影向量的计算
投影向量的应用 投影向量的计算过程,是一个向量分解的过程,这种向量分解的思路在后面推导其他内容时很有帮助,例如求解后面的物体旋转矩阵时会派上用场。
向量夹角
0≤θ≤π