📄 mfc.cpp
字号:
//
// This file was automatically generated from mfc.acf
//
#include "vpModule.h"
#include "vpKernel.h"
#include "vpSearchPath.h"
#include "vpPipeline.h"
#include "vpWindow.h"
#include "vpChannel.h"
#include "vpObserver.h"
#include "vpScene.h"
#include "vpObject.h"
#include "vpEnv.h"
#include "vpEnvSun.h"
#include "vpEnvMoon.h"
#include "vpEnvSkyDome.h"
#include "vpEnvCloudLayer.h"
#include "vpMotionGame.h"
#include "vpOverlay2DText.h"
//
// Define a static list to hold the instances we create, so that we
// can unref them when unconfigure is called
//
typedef vuVector< vuField< vuBase* > > InstancesList;
static InstancesList* s_pInstancesToUnref = NULL;
void define( void )
{
// Create static instances list that we use to track what we create
s_pInstancesToUnref = new InstancesList;
//
// Initialize all modules
//
vpModule::initializeModule( "vpEnv" );
vpModule::initializeModule( "vpMotion" );
vpModule::initializeModule( "vpOverlay" );
//
// Create all instances
//
vpKernel* pKernel_myKernel = vpKernel::instance();
pKernel_myKernel->setNotifyLevel( vuNotify::LEVEL_WARN );
pKernel_myKernel->setNotifyColorEnable( false );
pKernel_myKernel->setPriority( vuThread::PRIORITY_NORMAL );
pKernel_myKernel->setProcessor( -1 );
pKernel_myKernel->setDesiredFrameRate( 0.000000 );
pKernel_myKernel->setNotifyClassTypeMode( vuNotify::CLASS_TYPE_MODE_INCLUSIVE );
vpSearchPath* pSearchPath_mySearchPath = vpSearchPath::instance();
pSearchPath_mySearchPath->append( "./models" );
pSearchPath_mySearchPath->append( "E:/myVP/MFC122/MFC122" );
vpPipeline* pPipeline_myPipeline = new vpPipeline();
pPipeline_myPipeline->setName( "myPipeline" );
pPipeline_myPipeline->setMultiThread( vsPipeline::MULTITHREAD_INLINE );
pPipeline_myPipeline->setId( 0 );
pPipeline_myPipeline->setNumCullThreads( 0 );
pPipeline_myPipeline->setCullThreadPriority( vuThread::PRIORITY_NORMAL );
pPipeline_myPipeline->setCullThreadProcessor( -1 );
pPipeline_myPipeline->setDrawThreadPriority( vuThread::PRIORITY_NORMAL );
pPipeline_myPipeline->setDrawThreadProcessor( -1 );
s_pInstancesToUnref->push_back( pPipeline_myPipeline );
vpWindow* pWindow_myWindow = new vpWindow();
pWindow_myWindow->setName( "myWindow" );
pWindow_myWindow->setLabel( "Vega Prime Window" );
pWindow_myWindow->setOrigin( 0 , 0 );
pWindow_myWindow->setSize( 1024 , 768 );
pWindow_myWindow->setFullScreenEnable( false );
pWindow_myWindow->setBorderEnable( true );
pWindow_myWindow->setInputEnable( true );
pWindow_myWindow->setCursorEnable( true );
pWindow_myWindow->setStereoEnable( false );
pWindow_myWindow->setAntiAliasEnable( true );
pWindow_myWindow->setNumColorBits( 8 );
pWindow_myWindow->setNumAlphaBits( 0 );
pWindow_myWindow->setNumDepthBits( 24 );
pWindow_myWindow->setNumStencilBits( 0 );
pWindow_myWindow->setNumAccumColorBits( 0 );
pWindow_myWindow->setNumAccumAlphaBits( 0 );
pWindow_myWindow->setNumMultiSampleBits( 0 );
s_pInstancesToUnref->push_back( pWindow_myWindow );
vpChannel* pChannel_myChannel = new vpChannel();
pChannel_myChannel->setName( "myChannel" );
pChannel_myChannel->setOffsetTranslate( 0.000000 , 0.000000 , 0.000000 );
pChannel_myChannel->setOffsetRotate( 0.000000 , 0.000000 , 0.000000 );
pChannel_myChannel->setCullMask( 0x0FFFFFFFF );
pChannel_myChannel->setRenderMask( 0x0FFFFFFFF );
pChannel_myChannel->setClearColor( 0.000000f , 0.500000f , 1.000000f , 0.000000f );
pChannel_myChannel->setClearBuffers( 0x03 );
pChannel_myChannel->setDrawArea( 0.000000 , 1.000000 , 0.000000 , 1.000000 );
pChannel_myChannel->setFOVSymmetric( 45.000000f , -1.000000f );
pChannel_myChannel->setNearFar( 1.000000f , 35000.000000f );
pChannel_myChannel->setLODVisibilityRangeScale( 1.000000 );
pChannel_myChannel->setLODTransitionRangeScale( 1.000000 );
pChannel_myChannel->setCullThreadPriority( vuThread::PRIORITY_NORMAL );
pChannel_myChannel->setCullThreadProcessor( -1 );
pChannel_myChannel->setGraphicsModeEnable( vpChannel::GRAPHICS_MODE_WIREFRAME , false );
pChannel_myChannel->setGraphicsModeEnable( vpChannel::GRAPHICS_MODE_TRANSPARENCY , true );
pChannel_myChannel->setGraphicsModeEnable( vpChannel::GRAPHICS_MODE_TEXTURE , true );
pChannel_myChannel->setGraphicsModeEnable( vpChannel::GRAPHICS_MODE_LIGHT , true );
pChannel_myChannel->setGraphicsModeEnable( vpChannel::GRAPHICS_MODE_FOG , true );
pChannel_myChannel->setLightPointThreadPriority( vuThread::PRIORITY_NORMAL );
pChannel_myChannel->setLightPointThreadProcessor( -1 );
s_pInstancesToUnref->push_back( pChannel_myChannel );
vpObserver* pObserver_myObserver = new vpObserver();
pObserver_myObserver->setName( "myObserver" );
pObserver_myObserver->setStrategyEnable( true );
pObserver_myObserver->setTranslate( 2300.000000 , 2500.000000 , 15.000000 );
pObserver_myObserver->setRotate( -90.000000 , 0.000000 , 0.000000 );
pObserver_myObserver->setLatencyCriticalEnable( false );
s_pInstancesToUnref->push_back( pObserver_myObserver );
vpScene* pScene_myScene = new vpScene();
pScene_myScene->setName( "myScene" );
s_pInstancesToUnref->push_back( pScene_myScene );
vpObject* pObject_myObject = new vpObject();
pObject_myObject->setName( "myObject" );
pObject_myObject->setCullMask( 0x0FFFFFFFF );
pObject_myObject->setRenderMask( 0x0FFFFFFFF );
pObject_myObject->setIsectMask( 0x0FFFFFFFF );
pObject_myObject->setStrategyEnable( false );
pObject_myObject->setTranslate( 0.000000 , 0.000000 , 0.000000 );
pObject_myObject->setRotate( 0.000000 , 0.000000 , 0.000000 );
pObject_myObject->setScale( 1.000000 , 1.000000 , 1.000000 );
pObject_myObject->setStaticEnable( false );
pObject_myObject->setFileName( "town.vsb" );
pObject_myObject->setLoaderAttribute( vpGeometryPageable::LOADER_ATTRIBUTE_GENERATE_VERTEX_ARRAYS , true );
pObject_myObject->setLoaderAttribute( vpGeometryPageable::LOADER_ATTRIBUTE_GENERATE_DISPLAY_LISTS , true );
pObject_myObject->setLoaderAttribute( vpGeometryPageable::LOADER_ATTRIBUTE_COMBINE_LIGHT_POINTS , true );
pObject_myObject->setLoaderAttribute( vpGeometryPageable::LOADER_ATTRIBUTE_PRESERVE_QUADS , false );
pObject_myObject->setLoaderAttribute( vpGeometryPageable::LOADER_ATTRIBUTE_OPTIMIZE_GEOM , true );
pObject_myObject->setLoaderAttribute( vpGeometryPageable::LOADER_ATTRIBUTE_COMPUTE_NORMALS , false );
pObject_myObject->setLoaderAttribute( vpGeometryPageable::LOADER_ATTRIBUTE_COMPATIBILITY_MODE , true );
pObject_myObject->setFlattenEnable( true );
pObject_myObject->setCleanEnable( true );
pObject_myObject->setAutoPage( vpObject::AUTO_PAGE_SYNCHRONOUS );
s_pInstancesToUnref->push_back( pObject_myObject );
vpEnv* pEnv_myEnv = new vpEnv();
pEnv_myEnv->setName( "myEnv" );
pEnv_myEnv->setDate( 22 , 6 , 2002 );
pEnv_myEnv->setTimeOfDay( 12.000000f );
pEnv_myEnv->setTimeMultiplier( 1.000000f );
pEnv_myEnv->setEphemerisUpdateInterval( 0.000000f );
pEnv_myEnv->setReferencePosition( -96.790001f , 32.790001f );
pEnv_myEnv->setEphemerisTimeZoneOffset( -10000 );
pEnv_myEnv->setSkyColor( 0.513725f , 0.701961f , 0.941176f , 1.000000f );
pEnv_myEnv->setVisibilityRange( 80000.000000f );
pEnv_myEnv->setVisibilityColor( 1.000000f , 1.000000f , 1.000000f , 1.000000f );
pEnv_myEnv->setAmbientLightingColor( 0.000000f , 0.000000f , 0.000000f , 1.000000f );
pEnv_myEnv->setWindSpeed( 0.000000f );
pEnv_myEnv->setWindDirection( 0.000000f , 1.000000f );
s_pInstancesToUnref->push_back( pEnv_myEnv );
vpEnvSun* pEnvSun_myEnvSun = new vpEnvSun();
pEnvSun_myEnvSun->setName( "myEnvSun" );
pEnvSun_myEnvSun->setEnable( true );
pEnvSun_myEnvSun->setTwilightDip( -18.000000f );
pEnvSun_myEnvSun->setTextureFile( "sun.inta" );
pEnvSun_myEnvSun->setColor( 0.992156f , 1.000000f , 0.949019f , 1.000000f );
pEnvSun_myEnvSun->setHorizonColor( 1.000000f , 0.545098f , 0.239216f , 1.000000f );
s_pInstancesToUnref->push_back( pEnvSun_myEnvSun );
vpEnvMoon* pEnvMoon_myEnvMoon = new vpEnvMoon();
pEnvMoon_myEnvMoon->setName( "myEnvMoon" );
pEnvMoon_myEnvMoon->setEnable( true );
pEnvMoon_myEnvMoon->setBrightness( 0.250000f );
pEnvMoon_myEnvMoon->setTextureFile( "moon.inta" );
pEnvMoon_myEnvMoon->setColor( 0.811765f , 0.886275f , 0.937255f , 1.000000f );
s_pInstancesToUnref->push_back( pEnvMoon_myEnvMoon );
vpEnvSkyDome* pEnvSkyDome_myEnvSkyDome = new vpEnvSkyDome();
pEnvSkyDome_myEnvSkyDome->setName( "myEnvSkyDome" );
pEnvSkyDome_myEnvSkyDome->setEnable( true );
pEnvSkyDome_myEnvSkyDome->setGroundColor( 0.211765f , 0.286275f , 0.149020f , 1.000000f );
s_pInstancesToUnref->push_back( pEnvSkyDome_myEnvSkyDome );
vpEnvCloudLayer* pEnvCloudLayer_myEnvCloudLayer = new vpEnvCloudLayer();
pEnvCloudLayer_myEnvCloudLayer->setName( "myEnvCloudLayer" );
pEnvCloudLayer_myEnvCloudLayer->setEnable( true );
pEnvCloudLayer_myEnvCloudLayer->setColor( 0.956863f , 0.976471f , 0.984314f , 1.000000f );
pEnvCloudLayer_myEnvCloudLayer->setElevation( 3000.000000f , 5000.000000f );
pEnvCloudLayer_myEnvCloudLayer->setTransitionRange( 500.000000f , 500.000000f );
pEnvCloudLayer_myEnvCloudLayer->setScudEnable( false );
pEnvCloudLayer_myEnvCloudLayer->setTextureFile( "cloud_scattered.inta" );
pEnvCloudLayer_myEnvCloudLayer->setTextureTiling( 3.000000f , 3.000000f );
s_pInstancesToUnref->push_back( pEnvCloudLayer_myEnvCloudLayer );
vpMotionGame* pMotionGame_myMotion = new vpMotionGame();
pMotionGame_myMotion->setName( "myMotion" );
pMotionGame_myMotion->setSpeed( 1.000000 );
pMotionGame_myMotion->setSpeedDelta( 1.000000 );
pMotionGame_myMotion->setRateLook( 50.000000 );
s_pInstancesToUnref->push_back( pMotionGame_myMotion );
vpOverlay2DText* pOverlay2DText_myOverlay2DText = new vpOverlay2DText();
pOverlay2DText_myOverlay2DText->setName( "myOverlay2DText" );
pOverlay2DText_myOverlay2DText->setEnable( true );
pOverlay2DText_myOverlay2DText->setDisplayText( "vr2004@sina.com http://159.226.117.32/home/" );
pOverlay2DText_myOverlay2DText->setOriginX( 0.000000f );
pOverlay2DText_myOverlay2DText->setOriginY( 0.100000f );
pOverlay2DText_myOverlay2DText->setColor( 0.666667f , 0.000000f , 0.000000f , 1.000000f );
pOverlay2DText_myOverlay2DText->setFont( vpOverlay2DText::ARIAL );
pOverlay2DText_myOverlay2DText->setFontHeight( 30 );
pOverlay2DText_myOverlay2DText->setFontItalic( false );
pOverlay2DText_myOverlay2DText->setBlinking( false );
s_pInstancesToUnref->push_back( pOverlay2DText_myOverlay2DText );
//
// Satisfy all references
//
pPipeline_myPipeline->addWindow( pWindow_myWindow );
pWindow_myWindow->addChannel( pChannel_myChannel );
pObserver_myObserver->setStrategy( pMotionGame_myMotion );
pObserver_myObserver->addChannel( pChannel_myChannel );
pObserver_myObserver->addAttachment( pEnv_myEnv );
pObserver_myObserver->setScene( pScene_myScene );
pScene_myScene->addChild( pObject_myObject );
pEnv_myEnv->addEnvFx( pEnvSun_myEnvSun );
pEnv_myEnv->addEnvFx( pEnvMoon_myEnvMoon );
pEnv_myEnv->addEnvFx( pEnvSkyDome_myEnvSkyDome );
pEnv_myEnv->addEnvFx( pEnvCloudLayer_myEnvCloudLayer );
pOverlay2DText_myOverlay2DText->addChannel( pChannel_myChannel );
}
void unconfigure( void )
{
//
// Unref all created instances
//
s_pInstancesToUnref->clear();
delete s_pInstancesToUnref;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -