artoolkit学习之ARSimpleNativeCarsProj的一点研究心得
2017-06-02 16:04
393 查看
最近在研究AR,用的是使用很广泛的artoolkit,其中在AndroidStudioProjects有一个demo,叫ARSimpleNativeCarsProj,主要是修改代码来识别自己的图片,加载自己的模型。
我将其分为3步:
第一步:将自己的识别图制作成xxx.patt文件,制作方法自行百度,推荐一个网站:点击打开链接
第二步:将自己的模型放到工程目录下的assets\Data下
第三步:修改代码
首先,可以根据需要修改模型的数量
#define NUM_MODELS 3 //猜测是模型数量其次,添加或修改模型的路径
const char *model0file = "Data/models/Porsche_911_GT3.obj";//模型文件
const char *model1file = "Data/models/Ferrari_Modena_Spider.obj";
const char *model2file = "Data/models/Milaosu.obj";//我自己的模型然后,编写代码或修改代码,我是在原有基础上添加了一个模型,所以我添加了代码
models[2].
patternID=arwAddMarker("single;Data/test.patt;80");//我的识别图文件
arwSetMarkerOptionBool(models[2]
.patternID,ARW_MARKER_OPTION_SQUARE_USE_CONT_POSE_ESTIMATION,false);
arwSetMarkerOptionBool(models[2]
.patternID,ARW_MARKER_OPTION_FILTERED,true);
models[2].
obj=glmReadOBJ2(model2file,0,0);// context 0, don't read textures yet.
if(!models[2].obj){
LOGE("Error loading model from file '%s'.",model2file);
exit(-1);
}
glmScale(models[2]
.obj,0.035f);
//glmRotate(models[2].obj, 3.14159f / 2.0f, 1.0f, 0.0f, 0.0f);
glmCreateArrays(models[2]
.obj,GLM_SMOOTH | GLM_MATERIAL | GLM_TEXTURE);
models[2].
visible=false;
以上代码是在ARWrapperNativeCarsExample.cpp中。
以上就是我的研究成果,有不妥之处,还望指正。
我将其分为3步:
第一步:将自己的识别图制作成xxx.patt文件,制作方法自行百度,推荐一个网站:点击打开链接
第二步:将自己的模型放到工程目录下的assets\Data下
第三步:修改代码
首先,可以根据需要修改模型的数量
#define NUM_MODELS 3 //猜测是模型数量其次,添加或修改模型的路径
const char *model0file = "Data/models/Porsche_911_GT3.obj";//模型文件
const char *model1file = "Data/models/Ferrari_Modena_Spider.obj";
const char *model2file = "Data/models/Milaosu.obj";//我自己的模型然后,编写代码或修改代码,我是在原有基础上添加了一个模型,所以我添加了代码
models[2].
patternID=arwAddMarker("single;Data/test.patt;80");//我的识别图文件
arwSetMarkerOptionBool(models[2]
.patternID,ARW_MARKER_OPTION_SQUARE_USE_CONT_POSE_ESTIMATION,false);
arwSetMarkerOptionBool(models[2]
.patternID,ARW_MARKER_OPTION_FILTERED,true);
models[2].
obj=glmReadOBJ2(model2file,0,0);// context 0, don't read textures yet.
if(!models[2].obj){
LOGE("Error loading model from file '%s'.",model2file);
exit(-1);
}
glmScale(models[2]
.obj,0.035f);
//glmRotate(models[2].obj, 3.14159f / 2.0f, 1.0f, 0.0f, 0.0f);
glmCreateArrays(models[2]
.obj,GLM_SMOOTH | GLM_MATERIAL | GLM_TEXTURE);
models[2].
visible=false;
以上代码是在ARWrapperNativeCarsExample.cpp中。
以上就是我的研究成果,有不妥之处,还望指正。
相关文章推荐
- ARSimpleNativeCars 编译问题
- J2ME学习过程中的一点心得整理(参考:java手机/PDA程序设计入门 王森)
- J2ME学习过程中的一点心得整理
- WTL学习笔记之"Enter"和"ESC"的一点小心得
- 32位汇编学习的一点心得
- 学习Lucene的一点心得
- 自己学习C语言的一点心得
- Web开发学习心得6——HttpApplication管线研究
- 学习dsp的一点心得
- C#中委托如何使用?一点学习心得
- Windows系统内核模态和用户模态一点学习心得
- SNMP学习的一点心得
- 新手入门:学习Java的一点经验心得
- C#开发ArcEngine的一点学习心得 (转)
- 学习dsp的一点心得
- C#开发ArcEngine的一点学习心得
- 学习汇编语言的一点心得 推荐
- 关于51单片学习的一点心得
- 学习Builder和抽象工厂模式的一点心得
- arm学习的一点心得:外部中断配置