Assimp data structure介绍

Assimp库中的数据结构包括aiScene作为根,包含了Node层次结构、Meshes、Materials、Bones和Animations。Nodes组成树状结构,每个Node可以引用多个Meshes。Meshes包含顶点、面和材质信息,可以有bones进行骨骼动画。Materials存储在aiScene中,由多个属性组成。Animations包含关键帧序列,描述节点随时间的变换。此外,纹理数据可能内嵌在模型文件中,以非压缩或压缩格式存在。

主要内容从原网站翻译过来:链接 Assimp

数据结构

  • 调用 Assimp::Importer::ReadFile,aiImportFile或aiImportFileEx,返回aiScene。作为data的根。
  • 默认下,所有的3D数据是右手坐标系下的,和openGl一致。在D3D这种左右坐标系下,设置flag aiProcess_MakeLeftHanded。
  • winding-order默认是CCW的,可以设置 aiProcess_FlipWindingOrder to get CW data。
  • UV坐标是左下角为原点,使用flag aiProcess_FlipUVs 可改为左上角为原点。
  • assimp库里矩阵都是行主序。 opengl的api要求的是列主序, unity也里也是列主序。

Node 层次结构

  • scene 由 node的树状结构构成,从scene的root node起,每个node可以有多个child nodes,node相对于parent node有一个transform变换。
  • 每个node refer to 一个或多个meshes,meshes列表存储在aiScene,node通过index to refer,因此多个node能refer to 多个mesh。在node里每个refered mesh的instance是相对于node坐标的,需要级联计算得到global坐标。

recursive filter function such as the following pseudocode

void CopyNodesWithMeshes( aiNode node, SceneObject targetParent,
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值