OpenGL之Assimp的原理(1)

Assimp是一个模型加载库,将不同格式的模型数据转换为统一的抽象类型。导入模型后,它以场景对象的形式存储,包含一系列节点和网格数据。每个节点可能有子节点,指向场景中的网格索引。网格包含了顶点、法向量、纹理坐标、面和材质信息,用于OpenGL渲染。理解Assimp的工作原理有助于更好地加载和处理3D模型。
摘要由CSDN通过智能技术生成

Assimp原理介绍

简介

我们用Opengl画立方体的时候,知道需要有顶点位置,如果想要在立方体上贴纹理的话,还需要知道纹理坐标,但是画复杂一些的模型就需要借助3DS Max等工具实现了,而使用工具导出来的模型文件数据不能直接使用,需要做一些转换,Assimp就帮我们实现了这一个功能。

Assimp(Open Asset Import Library)是一个模型加载库 ,它会把不同格式的模型数据转换为统一的抽象的数据类型,从而得到我们需要的数据。

结构(摘录自参考文章)

当使用Assimp导入一个模型的时候,它通常会将整个模型加载进一个场景(Scene)对象,它会包含导入的模型/场景中的所有数据。Assimp会将场景载入为一系列的节点(Node),每个节点包含了场景对象中所储存数据的索引,每个节点都可以有任意数量的子节点。Assimp数据结构的(简化)模型如下:
在这里插入图片描述

  • 和材质和网格(Mesh)一样,所有的场景/模型数据都包含在Scene对象中。Scene对象也包含了场景根节点的引用。 场景的Root
  • node(根节点)可能包含子节点(和其它的节点一样),它会有一系列指向场景对象中mMeshes数组中储存的网格数据的索引。Scene下的mMeshes数组储存了真正的Mesh对象,节点中的mMeshes数组保存的只是场景中网
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值