vega视景仿真应用系统通过模型对象、角色对象、场景等模...

vega视景仿真应用系统通过模型对象、角色对象、场景等模...

ID:33635032

大小:58.00 KB

页数:11页

时间:2019-02-27

vega视景仿真应用系统通过模型对象、角色对象、场景等模..._第1页
vega视景仿真应用系统通过模型对象、角色对象、场景等模..._第2页
vega视景仿真应用系统通过模型对象、角色对象、场景等模..._第3页
vega视景仿真应用系统通过模型对象、角色对象、场景等模..._第4页
vega视景仿真应用系统通过模型对象、角色对象、场景等模..._第5页
资源描述:

《vega视景仿真应用系统通过模型对象、角色对象、场景等模...》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、sVega视景仿真应用系统通过模型对象、角色对象、场景等模块类来构成虚拟场景,运用通道、窗口、观察者等模块类来显示虚拟场景,借助环境效果,光照模拟、场景环境等模块类来晚上虚拟场景,使用运动模式、相交测试、运动路径等模块类来控制虚拟场景。#include#include//头文件voidtoggleGfx(vgGfx*gfx,intwhiche);voidkeyInput(vgWindow*win);//函数声明(调用函数之前要声明)main(intargc,char*argv[])

2、//主函数{vgWindow*win;//定义指针变量vgObserver*obs;//定义指针变量if(argc!=2){printf("Usage:%s",argv[0]);exit(-1);}vaInitSys();//系统初始化vgDefineSys(argv[1]);//读取ADF文件vgConfig.Sys();//执行系统配置/*检查ADF文件中是否定义了必要的Vega类实例*/win=vgGetwin(0);if(win==NULL)vgNotify(VG_FATAL,VG-A

3、PP,"ERROR:NoVegaWindowDefined:");obs==vgGetObserv(0);if(obs==NULL)vgNotify(VG_FATAL,VG_APP,"ERROR:NoVegaObserverDefined");/*进入Vega主循环*/while(1){ssvgSyncFrame();vgFrame();/*处理键盘输入事件*/keyInput(win);}}/*控制制定图形状态选项的启用或禁用*/voidtoggleGfx(vgGfx*gfx,intwhich)//函数的定义

4、{inti=(int)vgGetProp(gfx,which);//强制类型转换;获取Vega类实例的属性,参看课本99页if(i)vgProp(gfx,whiche,VG_OFF);elsevgProp(gfx,whiche,VG_ON);}/*处理键盘输入*/voidkeyInput(vgWindow*win){vgIsector*ise;//定义类掩码指针vgObserver*obs;//定义观察者指针vgPosition*pos;//定义位置指针inti,key;floatx,y,z;floath,p,

5、r;obs=vgGetObsev(0);//获取默认观察者/*设置观察者定位方式为手动*/vgProp(obs,VGOBS_TETHERSTATE,VGOBS_STATIC);/*取消不必要的Isector的限制*/for(i=0;i

6、c(pos,&x,&y,&z,&h,&p,&r);key=vgGetWinKey(vgGetWin(0));switch(key){case't':case'T':toggleGfx(vgGetGfx(0),VGGFX_TEXTURE);ssbreak;//纹理显示控制case'f':case'F':toggleGfx(vgGetGfx(0),VGGFX_FOG);break;//环境雾显示控制case'l':case'L':toggleGfx(vgGetGfx(0),VGGFX_LIGHTING);break

7、;//线框模式显示控制case'w':case'W':toggleGfx(vgGetGfx(0),VGGFX_WIREFRAME);break;//视点位姿控制case'm':case'M':z+=1.0;break;//视点上移case'n':case'N':z-=1.0;break;//视点下移case'y':case'Y':y+=1.0;break;//视点前移case'h':case'H':y-=1.0;break;//视点后移case'g':case'G':X-=1.0;break;//视点左移cas

8、e'j':case'J':x+=1.0;break;//视点右移case'v':case'V':h+=1.0;break;//视点左平转case'b':case'B':h-=1.0;ssbreak;//视点右平转case'o':case'O':p+=1.0;break;//视点向上仰视case'p':case'P':p-=1.0;break;//视点向下俯视default:break;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。