.obj文件中顶点数据的合并
来源:互联网 发布:java数组赋值未满 长度 编辑:程序博客网 时间:2024/05/22 06:41
在OpenGL中,为了减少顶点数据所占用的内存,通常会合并具有相同属性的顶点,然后使用顶点的索引进行绘制。
举例来说,对于xz平面上中心在原点的的单位正方形,需要两个三角形来表示它,于是一共需要六个顶点:
// 第一个三角形v1: 位置(-0.5, 0.0, 0.5),纹理坐标(0.0, 0.0),法向量(0.0, 1.0, 0.0)v2: 位置( 0.5, 0.0, 0.5),纹理坐标(1.0, 0.0),法向量(0.0, 1.0, 0.0)v3: 位置( 0.5, 0.0, -0.5),纹理坐标(1.0, 1.0),法向量(0.0, 1.0, 0.0)// 第二个三角形v4: 位置(-0.5, 0.0, 0.5),纹理坐标(0.0, 0.0),法向量(0.0, 1.0, 0.0)v5: 位置( 0.5, 0.0, -0.5),纹理坐标(1.0, 1.0),法向量(0.0, 1.0, 0.0)v6: 位置(-0.5, 0.0, -0.5),纹理坐标(0.0, 1.0),法向量(0.0, 1.0, 0.0)
可以看到,v1
和v4
的属性是完全一样的,v3
和v5
的属性是完全一样的,于是它们可以进行合并,合并后顶点的个数变为4:
v1: 位置(-0.5, 0.0, 0.5),纹理坐标(0.0, 0.0),法向量(0.0, 1.0, 0.0)v2: 位置( 0.5, 0.0, 0.5),纹理坐标(1.0, 0.0),法向量(0.0, 1.0, 0.0)v3: 位置( 0.5, 0.0, -0.5),纹理坐标(1.0, 1.0),法向量(0.0, 1.0, 0.0)v4: 位置(-0.5, 0.0, -0.5),纹理坐标(0.0, 1.0),法向量(0.0, 1.0, 0.0)
此时可以使用索引的形式来表示两个三角形:
// 第一个三角形0 1 2// 第二个三角形0 2 3
仔细观察可以发现,这四个顶点的法向量是完全一样的。那么,如果我们将顶点的三个属性(位置、法向量和纹理坐标)分开存储,则四个法向量同样可以合并成一个,这样需要存储的内容就可以进一步缩减。.obj文件正是这样做的。
在.obj文件中,顶点的三个属性分开存储,每种属性中一致的属性合并为一个,然后使用三个对应属性的索引来表示一个顶点。
依然拿上面的例子进行举例。6个顶点的位置属性可以合并为4个,用v来表示,则有:
v -0.5000 0.0000 0.5000v 0.5000 0.0000 0.5000v 0.5000 0.0000 -0.5000v -0.5000 0.0000 -0.5000
6个顶点的纹理坐标可以合并为4个,用vt来表示,则有:
vt 0.0000 0.0000vt 1.0000 0.0000vt 1.0000 1.0000vt 0.0000 1.0000
6个顶点的法向量可以合并为1个,用vn来表示,则有:
vn 0.0000 1.0000 0.0000
然后使用属性的索引来表示顶点并组成三角形,用f来表示,则有(注意:在.obj中,索引的起始值为1):
f 1/1/1 2/2/1 3/3/1f 1/1/1 3/3/1 4/4/1
0 0
- .obj文件中顶点数据的合并
- OBJ文件中顶点的对应值
- Obj 的网格 要在 3D Max 中渲染出顶点颜色
- OBJ文件中面的连接
- 读取点云 .OBJ 文件,画出顶点平面图
- Ogre中mesh的顶点数据与索引数据
- obj格式三维模型合并group后,顶点编号就会改变
- 分析obj文件,理解重定位过程以及obj文件在程序中扮演的角色
- MATLAB读取和显示obj文件的数据
- 把多个excel文件的sheet1数据合并到一个excel文件的sheet1中
- Opengl中导入obj文件
- Opengl中导入obj文件
- VS中bin和obj文件引发的问题
- Obj-C中关于NSMutableDictionary写入文件的奇怪问题
- Unity3d 顶点着色器传入的顶点数据
- Ogre中获取mesh顶点数据
- MATLAB将数据写入obj文件
- obj 文件的重定位
- 友元类的继承传递
- 《CSS权威指南》读书笔记10
- 第一章 51单片机环境的搭建-1.2 安装指令编辑编译软件Keil
- 已知两点经纬度,求一点相对于另一点方位角和两点间的距离
- POJ 1095 Trees Made to Order 笔记
- .obj文件中顶点数据的合并
- 约瑟夫问题各种求解办法
- Swift中协议的简单介绍
- Linux文件管理
- 第五次c++作业报告
- 数据存储运用ListView和SQLite数据库综合案例——商品展示
- 印象笔记
- Binary Tree Right Side View
- The Super Powers UVA