- 积分
- 22
- 帖子
- 9
- 主题
- 5
- 精华
- 0
- 最后登录
- 2018-1-3
- 在线时间
- 22 小时
- 私信
|
发表时间 : 2011-5-8 13:34:06
|
浏览 : 917 评论 : 1
pos=vgNewPos();
vgPosVec(pos,1460,300,12,0,0,0);
vgPathAddCtrlPointPos(path,pos);
ctrlNav[numNav][0]=1460;
ctrlNav[numNav][1]=300;
ctrlNav[numNav][2]=12;
ctrlNav[numNav][3]=0;
ctrlNav[numNav][4]=0;
ctrlNav[numNav][5]=0;
numNav++;
vgPosVec(pos,1460,580,12,0,0,0);
vgPathAddCtrlPointPos(path,pos);
ctrlNav[numNav][0]=1460;
ctrlNav[numNav][1]=580;
ctrlNav[numNav][2]=12;
ctrlNav[numNav][3]=0;
ctrlNav[numNav][4]=0;
ctrlNav[numNav][5]=0;
vgDelPos(pos);
numNav++;
if(numNav)
{
//新建样条导航器实例
nav = vgNewSplineNavigator(NAV_FILE,path);
//启用导航器
vgProp(nav,VGCOMMON_ENABLED,VG_ON);
//从第一个控制点开始遍历路径
vgProp(nav,VGSPLINENAV_START_INDEX,0);
//路径遍历完成后停止
vgProp(nav,VGSPLINENAV_STOP_AT_END,VG_ON);
//添加导航标志
vgNavigatorAddMarker(nav,0,VGSPLINENAV_LINEAR,0,NULL,0);
//采用赫米特样条遍历模式
vgNavigatorAddMarker(nav,0,VGSPLINENAV_START_DELAY,2,NULL,0);
//开始遍历前延迟2s
//设定遍历速度
vgNavigatorAddMarker(nav,0,VGSPLINENAV_VELOCITY,30,NULL,0);
//视线方向与样条曲线无关
vgNavigatorAddMarker(nav,0,VGSPLINENAV_ABSOLUTE_HPR,VG_ON,NULL,0);
//渲染导航路径
vgNavigatorAddMarker(nav,0,VGSPLINENAV_RENDER,VG_ON,NULL,0);
for(idx=1;idx<numNav;idx++)
{
vgNavigatorAddMarker(nav,idx,VGNAV_EMPTY,0,NULL,0);
//设置空导航标志
}
vgMakeSplineNavigator(nav);
printf("There are %d CtrlPoints with!\n",(int)vgGetProp(path,VGPATH_NUM_CTRLPTS));
printf("There are %d Markers!\n",(int)vgGetProp(nav,VGNAV_NUM_MARKERS));
//按路径运动
//vgProp(plyr,VGPLYR_CSREF,VGOBS_NAVIGATOR);
vgProp(plyr,VGPLYR_SPLINE_NAVIGATOR,VG_ON);
vgPlyrNav(plyr,(vgNavigator*)nav);
}
|
|