几何处理阶段
渲染场景
OBJ 3D Mesh
顶点数据
- v表示定点位置
- vn表示顶点法向量
- vt表示顶点纹理坐标
元素
- p表示点,p # v 1 v_1 v1
- l表示线,l # v 1 v_1 v1 # v 2 v_2 v2 … # v m v_m vm
- f表示一个面,f # v 1 v_1 v1 # v 2 v_2 v2 … # v n v_n vn
- f 表示一个带纹理坐标的面,f #
v
1
v_1
v1/#
v
t
1
vt_1
vt1 #
v
2
v_2
v2/#
v
t
2
vt_2
vt2 … #
v
m
v_m
vm/
v
t
m
vt_m
vtm
带纹理坐标的面是指三维模型中的一个表面或多边形,该表面除了定义顶点位置外,还附加了用于贴图的纹理坐标信息。纹理坐标用来指定将纹理映射到模型表面时的对应关系,以便在渲染过程中正确显示纹理图像。 - f表示一个带法向量的面,f #
v
1
v_1
v1//#
v
n
1
vn_1
vn1 #
v
2
v_2
v2//#
v
n
2
vn_2
vn2 … #
v
m
v_m
vm//#
v
n
m
vn_m
vnm
带法向量的面是指三维模型中的一个表面或多边形,该表面除了定义顶点位置外,还附加了法向量信息。法向量(Normal Vector)是指与表面垂直的向量,用于描述表面的方向和朝向。 - f表示一个带纹理坐标和法向量的面, f # v 1 v_1 v1/# v t 1 vt_1 vt1/ v n 1 vn_1 vn1 # v 2 v_2 v2/# v t 2 vt_2 vt2/ v n 2 vn_2 vn2 … # v m v_m vm/# v t m vt_m vtm/ v n m vn_m vnm
Vertex Shader(顶点着色器)
逐顶点操作
• 几何变换:从物体坐标到,世界坐标,观察坐标,投影坐标
• 法向量变换
• 光照计算和材质应用
• 纹理坐标的生成和变换
坐标系:OpenGL采用右手坐标系
- 物体坐标系:以物体(obj模型)自己为中心
-
世界坐标系
仿射变换=线性变换+平移变换
-
观察坐标系
观察变换 Viewing Transformation
-
投影坐标系
透视投影 Perspective Projection
-
规一化坐标系
正交投影 Orthographic Projection
-
屏幕坐标系
Viewport Transformation