static GV_Rgba ambient = {1.0, 1.0, 1.0, 1.0};//环境光
    static GV_Rgba diffuse = {1.0, 1.0, 1.0, 1.0};//散射光
    static G_Vector3 light_direction = { -0.5, 0.5, 0.90 };//方向光
    GV_Light lightsource;
    GV_lsr_create( &lightsource);//创建一个光资源
    GV_lsr_set_name( lightsource, "SUN" );//重新命名
    GV_lsr_set_direction( lightsource, &light_direction );//设置方向光
    GV_lsr_set_ambient( lightsource, &ambient );//设置环境光
    GV_lsr_set_diffuse( lightsource, &diffuse );//设置散射光
这样也就为系统添加了光资源。
4.1.3  雾资源创建
雾工具用于模拟雾的效果。必须将雾模型加入场景中去,雾模型才会有用。雾模型用于模拟场景中的所需的雾效果。不一定要使用雾效果,完全可以选择使用它。调用函数GV_fog_create很容易创建它。每一个雾模型都有起始效果距离和距离设置。这些设置控制着介于距离和雾类型之间的雾密度。
函数GV_fog_set_opaque_distance指定雾模型的模糊距离;函数GV_fog_set_color可设置任何所需的雾颜色;函数GV_fog_set_type控制雾模型的类型。
雾资源的创建与光资源的创建其实是一样的,其关键代码为:
GV_Fog foghdl;
    GV_fog_create( &foghdl );//创建雾资源
    GV_fog_set_type( foghdl, GV_FOG_TYPE_EXP2 );//设置雾的类型
    GV_fog_set_name( foghdl, "HAZE" );//重新命名
    visibility *= usf;
    GV_fog_set_opaque_distance( foghdl, visibility );//雾模型的模糊距离
    GV_fog_set_color( foghdl, &haze_color );//设置雾颜色
4.1.4  通道资源的创建
通道工具和相机一起用于形成GVS观察管道。对于大部分应用程序,用户所做的就是创建一个通道,设置需要的清除色,并将相机和场景加入通道。这样,通道一旦与帧缓存相连,GVS就能按你所需绘制场景。
每一个OpenGVS应用软件至少需要一个通道。通道用于构成观察管道软件的主体部分;没有通道你几乎不能做任何事。调用GV_chn_create容易创建一个通道。此函数返回一个句柄,该句柄可用于几乎所有其他通道工具函数以操纵该特定通道。函数GV_chn_set_erase_color用于设置通道的清除色。
在本系统中,将创建的相机资源、光资源及雾资源都加入到通道中,这样才能够运行起来,否则它们只是单一的个体资源。其关键代码为:
/设置通道资源/
     static GV_Rgba erase_color = { 0.0, 0.2, 0.0, 1.0 };//设置清除色
    GV_Channel chnhdl;
    GV_chn_create( &chnhdl );//创建一个通道资源
    GV_chn_set_name( chnhdl, channel_name );//设置一个新名称
    GV_chn_set_erase_color( chnhdl, &erase_color );
    GV_chn_set_input_focus( chnhdl );
/建立各个资源之间的联系/
GV_scn_add_light( scene, sunlight );//在场景中加入光资源
GV_chn_set_camera( channel, camera_default );//将相机资源加入到通道中
GV_chn_set_scene( channel, scene );//将场景加入到通道中
GV_fbf_add_channel( fbf, channel );
这样就建立了资源之间的联系,使他们成为一个整体。
4.2  三文模型的导入
三文模型是物体的三文多边形表示,通常用计算机或者其它视频设备进行显示。显示的物体可以是现实世界的实体,也可以是虚构的东西,既可以小到原子,也可以大到很大的尺寸。任何物理自然界存在的东西都可以用三文模型表示。三文模型经常用三文建模工具这种专门的软件生成,但是也可以用其它方法生成。作为点和其它信息集合的数据,三文模型可以手工生成,也可以按照一定的算法生成。尽管通常按照虚拟的方式存在于计算机或者计算机文件中,但是在纸上描述的类似模型也可以认为是三文模型。
上一篇:MATLAB雷达有源干扰建模与仿真+文献综述
下一篇:Multisim在电子电路分析中的应用研究

认知无线电网络中基于双...

基于TCP/IP技术的转向架振动测试系统设计

基于PM2.5浓度的健康出行路径规划及实现

基于涡旋电磁波的新型雷达成像技术研究

基于相关滤波器的长期跟踪算法研究

基于ZigBee协议轨道交通环...

变分模态分解方法研究及...

《醉青春》导演作品阐述

中国古代秘书擅权的发展和恶变

国内外无刷直流电动机研究现状

浅谈传统人文精神茬大學...

谷度酒庄消费者回访调查问卷表

辩护律师的作证义务和保...

拉力采集上位机软件开发任务书

多元化刑事简易程序构建探讨【9365字】

高校网球场馆运营管理初探【1805字】

浅谈新形势下妇产科护理...