OpenGL之开始篇

要实现OpenGL,还要先弄明白OpenGL的原语及3D的一些原理

OpenGL提供访问几何和图行原语、显示序列、模型转换、灯光、纹理、反锯齿、混合等。可以先看看3Dmax的书,对3D有个大概的认识。

 

3D图形原语:

   Vertex (顶点)3D的最基本的概念,它定义了三维(3D)空间的一个点的坐标(xyz),通常定义为浮点变量。三个Vertex(V1, ,V2, V3)就构造了一个三角形.两个vertex就能构造一条线段。OpenGL可以画线段、三角形和四边形,而OpenGL ES 2.0只能画三角形和线段。

 

 

OpenGL之开始篇_第1张图片

 

3D Mesh(网格)

3D mesh可以用Blender, 3D Studio Max, Maya, Lightwave 3D等3D制作软件创建。比如 Lightwave 3D生成的obj文件

格式如下:

####
#
#OBJ File Generated by LightWave3D
#LightWave3D OBJ Export v2.2
#
####
#Object: 1
#
#                Vertices: 5
#                  Points: 1
#                   Lines: 0
#                   Faces: 6
#               Materials: 1
#
####
o 1
#             Vertex list
v -0.5 -0.5 0.5
v -0.5 -0.5 -0.5
v 0.5 -0.5 0.5
v 0.5 -0.5 -0.5
v 0 0.5 0
#    Point/Line/Face list
f 5 2 1
f 2 3 1
f 2 4 3
f 5 4 2
f 3 5 1
f 4 5 3
#             End of file

 

上面文件代表一个棱锥, 有5个顶点和6个面(三角形):
•第一部分代表总的3D mesh信息.。并声明顶点和面(三角形)的个数
•下一部分:
# Vertex list
v -0.5 -0.5 0.5
v字符代表顶点(vertex). 由三个坐标(x,y,z)构成, 分别是-0.5, -0.5, 0.5

•最后一部分是关于怎样创建三角形的

# Point/Line/Face list
f 5 2 1

f字符代表面(face),实际上是三角形后面的数字表述是构成三角形的点的序号(第5个,第2个。第1个点)

 

纹理(Textures)

OpenGL之开始篇_第2张图片

 

 

 

 

 

另: 要看懂OpenGL的API,《3D数学基础 图形与游戏开发》这本书是必须看的 

 

你可能感兴趣的:(游戏,api,File,图形,网格,textures)