理论教育 物体平面影子效果-虚拟现实开发技术

物体平面影子效果-虚拟现实开发技术

时间:2023-11-25 理论教育 版权反馈
【摘要】:把该目录添加到VP 程序管理目录下:pSearchPath_mySearchPath->append;正常添加飞行物体对象,这里需要注意的是:飞行对象需要离开地面一定的距离,才能实现平面光照影子效果。vpObject* pObject_flight=new vpObject();pObject_flight->setName;pObject_flight->setTranslate;pObject_flight->setRotate;添加平面光照影子的效果对象:vpShadowPlanar* pShadowPlanar_myShadowPlanar=new vpShadowPlanar();pShadowPlanar_myShadowPlanar->setName;pShadowPlanar_myShadowPlanar->setEnable;pShadowPlanar_myShadowPlanar->setEffectiveRange;PublicMember::CTS_s_pInstancesToUnref->push_back;最后,实现平面光照影子效果的配置代码,与观察者关联,设置光源,添加平面光照影子对象:pObserver_myObserver->addAttachment;pShadowPlanar_myShadowPlanar->setLightSourceCelestial;pShadowPlanar_myShadowPlanar->addCaster;其详细代码如图6.22.1所示。图6.22.2飞行物体平面影子效果

物体平面影子效果-虚拟现实开发技术

首先引入平面光照影子的头文件:#include "vpShadowPlanar.h"。

在Define 函数中,首先启动平面光照影子功能模块:

vpModule::initializeModule("vpShadow");

在VP的安装目录下找到MultiGen-Paradigm\resources\data\models\f16cn,复制该文件夹到自己程序的data 目录下,该目录包含了一个飞机模型。把该目录添加到VP 程序管理目录下:

pSearchPath_mySearchPath->append(CTS_RunPath+"//data//f16cn");

正常添加飞行物体对象,这里需要注意的是:飞行对象需要离开地面一定的距离,才能实现平面光照影子效果。

vpObject* pObject_flight=new vpObject();

pObject_flight->setName("flight");

pObject_flight->setTranslate(2450.000000,2530.000000,10.000000);

pObject_flight->setRotate(90.000000,0.000000,0.000000);

添加平面光照影子的效果对象:

vpShadowPlanar* pShadowPlanar_myShadowPlanar=new vpShadowPlanar();

pShadowPlanar_myShadowPlanar->setName("myShadowPlanar");

pShadowPlanar_myShadowPlanar->setEnable(true);(www.daowen.com)

pShadowPlanar_myShadowPlanar->setEffectiveRange(10000.000000f);

PublicMember::CTS_s_pInstancesToUnref->push_back(pShadowPlanar_myShadowPlanar);

最后,实现平面光照影子效果的配置代码,与观察者关联,设置光源,添加平面光照影子对象:

pObserver_myObserver->addAttachment(pShadowPlanar_myShadowPlanar);

pShadowPlanar_myShadowPlanar->setLightSourceCelestial(pEnvSun_myEnvSun);

pShadowPlanar_myShadowPlanar->addCaster(pObject_flight);

其详细代码如图6.22.1所示。

图6.22.1 平面倒影效果实现代码

运行程序,其效果如图6.22.2所示。另外,可以添加多个平面光照影子对象,实现平面光照影子效果。

图6.22.2 飞行物体平面影子效果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈