Qt实现读取显示obj文件——说明
来源:互联网 发布:c语言编99乘法表 编辑:程序博客网 时间:2024/05/16 16:11
年后回来一个多月基本上都在研究OpenGL的东西~由于C++,Qt和三维的基础基本都是0,所以有些吃力,好在在动手写代码将近20天之后总算做出了一点成绩~
环境
Qt 5.5 +AddIn+VS2013,qt相关下载戳这里,VS2010也可以,不过写c++感觉2013之后好用一些~OpenGL我直接用的系统里面的glu32和opengl32(不懂如何在c++中引用的可以自己稍微花点时间研究一下~搞c++还是很要耐心的~)。
OBJ格式
由于obj格式虽然基本相同,但是还是有些大同小异的地方,我在参考了glm.c的源码和我需要读取的obj格式之后写出的代码~
这是我的OBJ文件的格式,v/vt/vn部分都是一样的,不懂我在说啥的可以查一下OBJ格式说明,网上很多:
g 1
usemtl 026
f 6/1/1 5/2/1 7/3/1 8/4/1
usemtl 027
f 4/5/2 3/6/2 5/7/2 6/8/2
usemtl 028
f 3/9/3 2/10/3 7/11/3 5/12/3
usemtl 029
f 2/13/4 1/14/4 8/15/4 7/16/4
usemtl 030
f 1/17/5 4/18/5 6/19/5 8/20/5
我的纹理.mtl文件格式是这样的:
newmtl 001
Ka 1.000 1.000 1.000
Kd 1.000 1.000 1.000
map_Kd Image\001.png
我们可以根据自己的文件格式不同原创代码,在Qt中封装了很多很好用的对象~
步骤
- 读取数据模型
- 创建并绑定纹理
- 建立面的法向量
- 将数据归一化显示在屏幕中间
- 绘制三维数据
主要的实现过程是这样,当然显示中还需要光照来配合法向量形成三维的效果和阴影!
- Qt实现读取显示obj文件——说明
- Qt实现读取显示obj文件——读取数据
- Qt实现读取显示obj文件——归一化坐标
- Qt实现读取显示obj文件——绘制数据
- Qt实现读取显示obj文件——计算面的单位法向量
- Qt实现读取显示obj文件——创建并绑定纹理
- Qt实现读取显示obj文件——多线程加载纹理
- Qt实现读取显示obj文件——动态绑定纹理与消除纹理
- Qt读取文件并显示
- vtk实战(十二)——读取.obj文件
- MATLAB读取和显示obj文件的数据
- obj 文件读取 openGL 显示3D图
- obj-c 读取文件 。
- openGL读取obj文件
- 读取并显示 obj (2)
- java3d显示obj文件
- QT读取TXT文件显示中文
- QT读取TXT文件显示中文
- 319. Bulb Switcher
- 黑马程序员 一、java 概述与基础知识
- 算法--冒泡排序
- 神奇的angularJS --连接controller的桥梁 service
- 关于ListView控件使用的个人总结--以一个简单的新闻客户端开发为例
- Qt实现读取显示obj文件——说明
- 《机器学习实战》第二章:k-近邻算法(2)约会对象分类
- 数据平面、控制平面、管理平面
- 从零开始,学习web前端之js特效
- pytorch学习笔记(二):gradient
- Coverity 静态分析 VS Code Review 代码审查
- C# DataTable数据量大,循环处理数据的时候优化速度
- Spring data jpa
- 调用 cordova 插件 IllegalAccessException