[OpenGL]导入obj文件

这篇博客介绍了如何在OpenGL中导入和渲染obj文件,详细阐述了obj文件的组成部分,包括点坐标(v)、纹理坐标(vt)、法线(vn)和面(f)。通过定义数据结构、读取模型数据、转换为顶点数组,最后实现不带纹理的模型渲染。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常来说我们构建一个模型是比较复杂的工作,那么我们还有什么途径获得模型呢。其中一种方法就是导入obj模型,不要被这个名词给吓到了,其实就是把一个制作好的模型保存到一个文件中,我们称为obj文件。

先上图片

下面说明如何读取单个obj文件:

 

我们先了解一下obj文件里都是表示什么

v 表示点的坐标值

vt表示纹理贴图坐标值

vn表示点的法线

f 表示的是面,本例中针对的是三角形的面

f 后面的参数也是三个,表示为: 点索引/纹理索引/法线索引

1.首先定义一些数据结构:


struct Face
{
    int v[3];
    int t[3];
    int n[3];
};
 QVector<QVector3D> m_vertexs;//保存点坐标
 QVector<QVect
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值