理论教育 VegaPrime虚拟现实开发技术:多通道配置

VegaPrime虚拟现实开发技术:多通道配置

时间:2023-11-25 理论教育 版权反馈
【摘要】:有些时候,需要多个通道,从不同角度和方位观察场景的不同地方。在这里,定义了4个通道1通道类继承图默认通道:pChannel_myChannel;

VegaPrime虚拟现实开发技术:多通道配置

引入通道类的头文件为:#include "vpChannel.h"。

通道类视图如图6.21.1所示。一般情况下,只需要一个通道,从一个地方观察场景。有些时候,需要多个通道,从不同角度和方位观察场景的不同地方。

在这里,定义了4个通道:

图6.21.1 通道类继承图

默认通道:pChannel_myChannel;

房屋通道:pChannel_houseChannel;

转角通道:pChannel_portchChannel;

俯视通道:pChannel_orthoChannel;

建立了4个观察者:

默认观察者:pObserver_myObserver;

房屋观察者:pObserver_houseObserver;

转角观察者:pObserver_porchObserver;

俯视观察者:pObserver_orthoObserver;

把4个通道添加到窗体

pWindow_myWindow->addChannel(pChannel_myChannel);

pWindow_myWindow->addChannel(pChannel_houseChannel);

pWindow_myWindow->addChannel(pChannel_portchChannel);

pWindow_myWindow->addChannel(pChannel_orthoChannel);

分别设置4个观察者:

pObserver_myObserver->setStrategy(pMotionDrive_myMotion);

pObserver_myObserver->addChannel(pChannel_myChannel);

pObserver_myObserver->addAttachment(pEnv_myEnv);(www.daowen.com)

pObserver_myObserver->setScene(pScene_myScene);

Observer_myObserver->setLookFrom(pTransform_hummerTransform);

Observer_houseObserver->addChannel(pChannel_houseChannel);

pObserver_houseObserver->addAttachment(pEnv_myEnv);

pObserver_houseObserver->setScene(pScene_myScene);

pObserver_houseObserver->setLookAt(pObject_farmhouse);

pObserver_porchObserver->addChannel(pChannel_portchChannel);

pObserver_porchObserver->addAttachment(pEnv_myEnv);

pObserver_porchObserver->setScene(pScene_myScene);

pObserver_porchObserver->setLookFrom(pTransform_hummerTransform);

pObserver_orthoObserver->addChannel(pChannel_orthoChannel);

pObserver_orthoObserver->setScene(pScene_myScene);

完整代码如图6.21.2所示。

图6.21.2 建立多通道

运行程序,其效果如图6.21.3所示。

图6.21.3 多通道效果

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

我要反馈