我要发帖 回复

中级会员

7

主题

729

积分

0

专家分

:

私信
发表时间 : 2008-9-5 19:59:13 | 浏览 : 1144    评论 : 0
vega中通过函数vgNewObjCopy()实现object的复制,在场景中未显示出来,各位知道错误在哪里吗?
通过vgGetSceneNumObj ()函数,已经知道复制成功了。但在场景中没显示出来.
根据在其中设置断点知道,house2和house在同一个位置,但是使用vgpos()没有使两个object分开,还在同一位置 .

程序如下:
   # include <vg.h>
# include <windows.h>

int main()
{
  
  vgObserver *obs;

  vgObject *obj;
  vgObject *objcopy;
  vgObject *obb;

  vgScene *scene;
  vgPosition *pos;
  vgPosition *pos1;
  float x,y,z,h,p,r;


  vgInitSys();
  vgDefineSys("G:\\vega\\hellovega(纹理问题)\\town.adf");
  
  vgConfigSys();

  
  pos=vgNewPos();
  scene=vgGetScene(0);

  obj=vgFindObj("house");//house是在lynx中定义的object
  objcopy=vgNewObjCopy(obj);
  vgName(objcopy,"house2");//house2是复制得到的

   vgAddSceneObj(scene,objcopy);

   
    vgGetPos(objcopy,pos);
    vgGetPosVec(pos,&x,&y,&z,&h,&p,&r);
    printf("\nhouse2's  position:%f     %f    %f\n",x,y,z);

    x=2450.0f;
    y=2800.0f;
    z=0.0f;
    h=0.0f;
    p=0.0f;
    r=0.0f;

   pos1=vgNewPos();
   vgPosVec(pos1,x,y,z,h,p,r);
   vgPos(objcopy,pos1);

   int i=vgGetSceneNumObj(scene);
   printf("\n%d",i);

  
  while(1)
  {
      
vgSyncFrame();
   vgFrame();

  }
}

hellovega(纹理问题).rar

6.66 KB, 下载次数: 10

adf文件

最近VR访客

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

GMT+8, 2021-4-22 10:31 PM

返回顶部