ASSIMP概述

ASSIMP是一个开源的3D模型导入导出库,支持多种格式,如DAE, BLEND, 3DS等。通过Importer类进行模型加载,提供将四边形转三角形、计算切线等预处理功能。" 83051511,8041958,Hadoop环境配置:详细编译与安装教程,"['Hadoop', '大数据开发', '开发工具']

在3D渲染的时候,工作量比较大且比较麻烦的一件事就是建模,如果想降低这种麻烦就需要借用网络上已经存在的一些模型素材,至少这是非商用渲染程序常用手段(咱们自己写例子的时候经常这样做)。但是,由于网络中的模型格式众多,如果自己一一去解析代价也挺高的。ASSIMP作为一个开源项目,设计了一套可扩展的架构,为模型的导入导出提供了良好的支持。这里说的导入是把模型文件,解析成ASSIMP自身定义的一套模型,而导出即是把自身建立的模型结构导出为模型文件。

ASSIMP默认提供了网络上比较流行的多种模型文件格式的导入和导出,如果我们仍需要对一下特殊的文件格式做这些操作,可以自己扩展。

 

Importer :

//1.注册模型导入实现类,BaseImporter对应的是一种具体的格式的模型文件
aiReturn RegisterLoader(BaseImporter* pImp);
aiReturn UnregisterLoader(BaseImporter* pImp);

//2.注册处理过程,BaseProcess对应一个加载后的处理过程,例如把所有的非三角形网格变成三角形网格之类的,功能很强大
aiReturn RegisterPPStep(BaseProcess* pImp);
aiReturn UnregisterPPStep(BaseProcess* pImp);

//3.各种属性
void SetPropertyInteger(const char* szName, int iValue, bool*   bWasExisting = NULL);
void SetPropertyBool(const char* szName, bool value, bool* bWasExisting = NULL)	{
		SetPropertyInteger(szName,value,bWasExisting);
	}
void SetPropertyFloat(const char* szName, float fValue, bool* bWasExisting = NULL);
void SetPropertyString(const char* szName, const std::string& sValue, bool* bWasExisting = NULL);
int GetPropertyInteger(const char* szName, int iErrorReturn = 0xffffffff) const;
bool GetPropertyBool(const char* szName, bool bErrorReturn = false) const {
		return GetPropertyInteger(szName,bErrorReturn)!=0;
	}
float GetPropertyFl
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值