我要发帖 回复

正式会员

7

主题

41

积分

0

专家分

:

私信
发表时间 : 2009-2-26 10:58:04 | 浏览 : 1206    评论 : 2
我建了一个空的adf文件,想在vc中用vega api添加object,可是添加进去后场景中就是显示不了,是怎么回事啊?
AddObject(CString filename,CString filetitle)
{//传进来的参数是选择的flt文件名,比如选择town.flt,filename="town.flt",filetitle="town"
                //添加模型数据集
                vgDataSet* ds;
                vgObject* obj;
                vgPosition* pos;
                char* name=filename.GetBuffer(filename.GetLength()+1);
                char* title=filetitle.GetBuffer(filetitle.GetLength()+1);
                ds=vgNewDS();               
                vgName(ds,name);

                //调用的数据集加载函数
                vgLoadDS(ds);

                //创建模型对象实例
                obj=vgNewObj();
                vgName(obj,name);

                //设置模型对象属性
                vgProp(obj,VGOBJ_CS,VGOBJ_STATIC);

                //设置模型对象的初始位姿
                pos=vgNewPos();
                vgPosVec(pos,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f);
                vgPos(obj,pos);

                //生成模型对象
                vgObjDS(obj,ds);

                vgMakeObj(obj , VGOBJ_USE);   

                //添加模型对象
                vgAddSceneObj(vgGetScene(0),obj);

}
用vgGetSceneNumObj(vgGetScene(0))查看模型确实已经添加到场景中了,可是在运行的界面看不到,应该是运动模式或者是位置的问题吧,
还有个问题就是我用api添加object后,用文本模式查看adf文件,里面的内容为什么没有改变呢?是没有保存的缘故吗?请大侠们指点,谢谢啦。

最近VR访客

sofina_ywm 评论于2009-3-3 11:05:12

回复1楼

vgProp(obj,VGOBJ_CS,VGOBJ_STATIC);
我觉得运动模型有没有可能是VGOBJ_DYNAMIC
个人觉得第二个问题可能就是你所讲的原因
呵呵,我也是菜鸟
说的不对,见谅!
myp_35 评论于2009-3-5 19:57:01

回复 2楼 的帖子

第一个问题解决了,就是那个属性设置错了,
第二个问题,如果是我说的原因,应该怎么保存呢?

手机版|VR开发网 ( 津ICP备18009691号 ) 统计 网安备12019202000257

GMT+8, 2020-10-24 08:17 PM

返回顶部