这是LP生成的源代码:
//
// This file was automatically generated from C:/Program Files/MultiGen-Paradigm/resources/samples/vegaprime/vp/vp_pixel_buffer/vp_pixel_buffer.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 "vpRecyclingService.h"
#include "vpEnv.h"
#include "vpEnvSun.h"
#include "vpEnvMoon.h"
#include "vpEnvSkyDome.h"
#include "vpEnvCloudLayer.h"
#include "vpEnvWind.h"
#include "vpMotionGame.h"
#include "vpMotionUFO.h"
#include "vpMotionTetherSpin.h"
#include "vpApp.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" );
//
// 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->setFrameRateLimiterEnable( true );
pKernel_myKernel->setDesiredFrameRate( 0.000000 );
pKernel_myKernel->setNotifyClassTypeMode( vuNotify::CLASS_TYPE_MODE_INCLUSIVE );
vpSearchPath* pSearchPath_mySearchPath = vpSearchPath::instance();
pSearchPath_mySearchPath->append( "$(MPI_INSTALL_RESOURCE_DEFAULT)/resources/data/databases/town" );
pSearchPath_mySearchPath->append( "$(MPI_INSTALL_RESOURCE_DEFAULT)/resources/data/models/hmmwv" );
pSearchPath_mySearchPath->append( "$(MPI_INSTALL_RESOURCE_DEFAULT)/resources/data/textures" );
pSearchPath_mySearchPath->append( "/" );
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 );
pPipeline_myPipeline->setBeginFrameOnVsyncEnable( false );
pPipeline_myPipeline->setDesiredPostDrawTime( -1.000000 );
s_pInstancesToUnref->push_back( pPipeline_myPipeline );
vpWindow* pWindow_myPixelBuffer = new vpWindow();
pWindow_myPixelBuffer->setName( "myPixelBuffer" );
pWindow_myPixelBuffer->setLabel( "" );
pWindow_myPixelBuffer->setOrigin( 0 , 0 );
pWindow_myPixelBuffer->setSize( 256 , 256 );
pWindow_myPixelBuffer->setFullScreenEnable( false );
pWindow_myPixelBuffer->setBorderEnable( false );
pWindow_myPixelBuffer->setInputEnable( false );
pWindow_myPixelBuffer->setCursorEnable( false );
pWindow_myPixelBuffer->setStereoEnable( false );
pWindow_myPixelBuffer->setNumColorBits( 8 );
pWindow_myPixelBuffer->setNumAlphaBits( 0 );
pWindow_myPixelBuffer->setNumDepthBits( 24 );
pWindow_myPixelBuffer->setNumStencilBits( 0 );
pWindow_myPixelBuffer->setNumAccumColorBits( 0 );
pWindow_myPixelBuffer->setNumAccumAlphaBits( 0 );
pWindow_myPixelBuffer->setNumMultiSampleBits( 0 );
pWindow_myPixelBuffer->setSwapInterval( 1 );
pWindow_myPixelBuffer->setPixelBufferMode( vrDrawContext::PIXEL_BUFFER_MODE_DYNAMIC_TEXTURE );
s_pInstancesToUnref->push_back( pWindow_myPixelBuffer );
vpWindow* pWindow_myWindow = new vpWindow();
pWindow_myWindow->setName( "myWindow" );
pWindow_myWindow->setLabel( "" );
pWindow_myWindow->setOrigin( 1 , 1 );
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->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 );
pWindow_myWindow->setSwapInterval( 1 );
pWindow_myWindow->setPixelBufferMode( vrDrawContext::PIXEL_BUFFER_MODE_OFF );
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 );
pChannel_myChannel->setMultiSample( vpChannel::MULTISAMPLE_OFF );
pChannel_myChannel->setStatisticsPage( vpChannel::PAGE_OFF );
pChannel_myChannel->setCullBoundingBoxTestEnable( false );
pChannel_myChannel->setOpaqueSort( vpChannel::OPAQUE_SORT_TEXTURE , vpChannel::OPAQUE_SORT_MATERIAL );
pChannel_myChannel->setTransparentSort( vpChannel::TRANSPARENT_SORT_DEPTH );
pChannel_myChannel->setDrawBuffer( vpChannel::DRAW_BUFFER_DEFAULT );
pChannel_myChannel->setStressEnable( false );
pChannel_myChannel->setStressParameters( 1.000000f , 20.000000f , 0.750000f , 0.500000f , 2.000000f );
s_pInstancesToUnref->push_back( pChannel_myChannel );
vpChannel* pChannel_myChannelForPixelBuffer = new vpChannel();
pChannel_myChannelForPixelBuffer->setName( "myChannelForPixelBuffer" );
pChannel_myChannelForPixelBuffer->setOffsetTranslate( 0.000000 , 0.000000 , 0.000000 );
pChannel_myChannelForPixelBuffer->setOffsetRotate( 0.000000 , 0.000000 , 0.000000 );
pChannel_myChannelForPixelBuffer->setCullMask( 0x0FFFFFFFF );
pChannel_myChannelForPixelBuffer->setRenderMask( 0x0FFFFFFFF );
pChannel_myChannelForPixelBuffer->setClearColor( 0.933333f , 0.807843f , 0.513726f , 0.000000f );
pChannel_myChannelForPixelBuffer->setClearBuffers( 0x03 );
pChannel_myChannelForPixelBuffer->setDrawArea( 0.000000 , 1.000000 , 0.000000 , 1.000000 );
pChannel_myChannelForPixelBuffer->setFOVSymmetric( 45.000000f , -1.000000f );
pChannel_myChannelForPixelBuffer->setNearFar( 1.000000f , 35000.000000f );
pChannel_myChannelForPixelBuffer->setLODVisibilityRangeScale( 1.000000 );
pChannel_myChannelForPixelBuffer->setLODTransitionRangeScale( 1.000000 );
pChannel_myChannelForPixelBuffer->setCullThreadPriority( vuThread::PRIORITY_NORMAL );
pChannel_myChannelForPixelBuffer->setCullThreadProcessor( -1 );
pChannel_myChannelForPixelBuffer->setGraphicsModeEnable( vpChannel::GRAPHICS_MODE_WIREFRAME , false );
pChannel_myChannelForPixelBuffer->setGraphicsModeEnable( vpChannel::GRAPHICS_MODE_TRANSPARENCY , true );
pChannel_myChannelForPixelBuffer->setGraphicsModeEnable( vpChannel::GRAPHICS_MODE_TEXTURE , true );
pChannel_myChannelForPixelBuffer->setGraphicsModeEnable( vpChannel::GRAPHICS_MODE_LIGHT , true );
pChannel_myChannelForPixelBuffer->setGraphicsModeEnable( vpChannel::GRAPHICS_MODE_FOG , true );
pChannel_myChannelForPixelBuffer->setLightPointThreadPriority( vuThread::PRIORITY_NORMAL );
pChannel_myChannelForPixelBuffer->setLightPointThreadProcessor( -1 );
pChannel_myChannelForPixelBuffer->setMultiSample( vpChannel::MULTISAMPLE_OFF );
pChannel_myChannelForPixelBuffer->setStatisticsPage( vpChannel::PAGE_OFF );
pChannel_myChannelForPixelBuffer->setCullBoundingBoxTestEnable( false );
pChannel_myChannelForPixelBuffer->setOpaqueSort( vpChannel::OPAQUE_SORT_TEXTURE , vpChannel::OPAQUE_SORT_MATERIAL );
pChannel_myChannelForPixelBuffer->setTransparentSort( vpChannel::TRANSPARENT_SORT_DEPTH );
pChannel_myChannelForPixelBuffer->setDrawBuffer( vpChannel::DRAW_BUFFER_DEFAULT );
pChannel_myChannelForPixelBuffer->setStressEnable( false );
pChannel_myChannelForPixelBuffer->setStressParameters( 1.000000f , 20.000000f , 0.750000f , 0.500000f , 2.000000f );
s_pInstancesToUnref->push_back( pChannel_myChannelForPixelBuffer );
vpObserver* pObserver_myObserver = new vpObserver();
pObserver_myObserver->setName( "myObserver" );
pObserver_myObserver->setStrategyEnable( true );
pObserver_myObserver->setTranslate( 2050.000000 , 1074.000000 , 4.500000 );
pObserver_myObserver->setRotate( 57.900000 , 358.000000 , 0.000000 );
pObserver_myObserver->setLatencyCriticalEnable( false );
s_pInstancesToUnref->push_back( pObserver_myObserver );
vpObserver* pObserver_myObserverForPixelBuffer = new vpObserver();
pObserver_myObserverForPixelBuffer->setName( "myObserverForPixelBuffer" );
pObserver_myObserverForPixelBuffer->setStrategyEnable( true );
pObserver_myObserverForPixelBuffer->setTranslate( 0.000000 , 0.000000 , 0.000000 );
pObserver_myObserverForPixelBuffer->setRotate( 0.000000 , 0.000000 , 0.000000 );
pObserver_myObserverForPixelBuffer->setLatencyCriticalEnable( false );
s_pInstancesToUnref->push_back( pObserver_myObserverForPixelBuffer );
vpScene* pScene_myScene = new vpScene();
pScene_myScene->setName( "myScene" );
s_pInstancesToUnref->push_back( pScene_myScene );
vpScene* pScene_mySceneForPixelBuffer = new vpScene();
pScene_mySceneForPixelBuffer->setName( "mySceneForPixelBuffer" );
pScene_mySceneForPixelBuffer->setCullMask( 0x0FFFFFFFF );
pScene_mySceneForPixelBuffer->setRenderMask( 0x0FFFFFFFF );
pScene_mySceneForPixelBuffer->setIsectMask( 0x0FFFFFFFF );
s_pInstancesToUnref->push_back( pScene_mySceneForPixelBuffer );
vpObject* pObject_hummer = new vpObject();
pObject_hummer->setName( "hummer" );
pObject_hummer->setCullMask( 0x0FFFFFFFF );
pObject_hummer->setRenderMask( 0x0FFFFFFFF );
pObject_hummer->setIsectMask( 0x0FFFFFFFF );
pObject_hummer->setStrategyEnable( true );
pObject_hummer->setTranslate( 0.000000 , 0.000000 , 0.000000 );
pObject_hummer->setRotate( 0.000000 , 0.000000 , 0.000000 );
pObject_hummer->setScale( 1.000000 , 1.000000 , 1.000000 );
pObject_hummer->setStaticEnable( false );
pObject_hummer->setFileName( "hmmwv.flt" );
pObject_hummer->setAutoPage( vpObject::AUTO_PAGE_SYNCHRONOUS );
pObject_hummer->setManualLODChild( -1 );
pObject_hummer->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_COMBINE_LIGHT_POINTS , true );
pObject_hummer->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_COMBINE_LODS , true );
pObject_hummer->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_IGNORE_DOF_CONSTRAINTS , false );
pObject_hummer->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_PRESERVE_EXTERNAL_REF_FLAGS , true );
pObject_hummer->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_PRESERVE_GENERIC_NAMES , false );
pObject_hummer->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_PRESERVE_GENERIC_NODES , false );
pObject_hummer->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_PRESERVE_QUADS , false );
pObject_hummer->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_ALL_GEOMETRIES_LIT , false );
pObject_hummer->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_USE_MATERIAL_DIFFUSE_COLOR , false );
pObject_hummer->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_MONOCHROME , false );
pObject_hummer->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_CREATE_ANIMATIONS , true );
pObject_hummer->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_SHARE_LIGHT_POINT_CONTROLS , true );
pObject_hummer->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_SHARE_LIGHT_POINT_ANIMATIONS , true );
pObject_hummer->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_SHARE_LIGHT_POINT_APPEARANCES , true );
pObject_hummer->setLoaderDetailMultiTextureStage( -1 );
pObject_hummer->setLoaderBlendTolerance( 0.050000f );
pObject_hummer->setLoaderUnits( vsNodeLoader::Data::LOADER_UNITS_METERS );
pObject_hummer->setBuilderOption( vsNodeLoader::Data::BUILDER_OPTION_OPTIMIZE_GEOMETRIES , true );
pObject_hummer->setBuilderOption( vsNodeLoader::Data::BUILDER_OPTION_COLLAPSE_BINDINGS , true );
pObject_hummer->setBuilderOption( vsNodeLoader::Data::BUILDER_OPTION_COLLAPSE_TRIANGLE_STRIPS , true );
pObject_hummer->setBuilderNormalMode( vsNodeLoader::Data::BUILDER_NORMAL_MODE_PRESERVE );
pObject_hummer->setBuilderColorTolerance( 0.001000f );
pObject_hummer->setBuilderNormalTolerance( 0.860000f );
pObject_hummer->setBuilderVertexTolerance( 0.000100f );
pObject_hummer->setGeometryOption( vsNodeLoader::Data::GEOMETRY_OPTION_GENERATE_DISPLAY_LISTS , false );
pObject_hummer->setGeometryFormat( vrGeometryBase::FORMAT_VERTEX_ARRAY , 0x0FFF );
pObject_hummer->setPostLoadOption( vpGeometryPageable::POST_LOAD_OPTION_FLATTEN , true );
pObject_hummer->setPostLoadOption( vpGeometryPageable::POST_LOAD_OPTION_CLEAN , true );
pObject_hummer->setPostLoadOption( vpGeometryPageable::POST_LOAD_OPTION_MERGE_GEOMETRIES , true );
pObject_hummer->setPostLoadOption( vpGeometryPageable::POST_LOAD_OPTION_COLLAPSE_BINDINGS , true );
pObject_hummer->setPostLoadOption( vpGeometryPageable::POST_LOAD_OPTION_COLLAPSE_TRIANGLE_STRIPS , true );
pObject_hummer->setPostLoadOption( vpGeometryPageable::POST_LOAD_OPTION_VALIDATE , true );
pObject_hummer->setTextureSubloadEnable( false );
pObject_hummer->setTextureSubloadRender( vpGeometry::TEXTURE_SUBLOAD_RENDER_DEFERRED );
s_pInstancesToUnref->push_back( pObject_hummer );
vpObject* pObject_town = new vpObject();
pObject_town->setName( "town" );
pObject_town->setCullMask( 0x0FFFFFFFF );
pObject_town->setRenderMask( 0x0FFFFFFFF );
pObject_town->setIsectMask( 0x0FFFFFFFF );
pObject_town->setStrategyEnable( true );
pObject_town->setTranslate( 0.000000 , 0.000000 , 0.000000 );
pObject_town->setRotate( 0.000000 , 0.000000 , 0.000000 );
pObject_town->setScale( 1.000000 , 1.000000 , 1.000000 );
pObject_town->setStaticEnable( false );
pObject_town->setFileName( "town.flt" );
pObject_town->setAutoPage( vpObject::AUTO_PAGE_SYNCHRONOUS );
pObject_town->setManualLODChild( -1 );
pObject_town->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_COMBINE_LIGHT_POINTS , true );
pObject_town->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_COMBINE_LODS , true );
pObject_town->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_IGNORE_DOF_CONSTRAINTS , false );
pObject_town->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_PRESERVE_EXTERNAL_REF_FLAGS , true );
pObject_town->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_PRESERVE_GENERIC_NAMES , false );
pObject_town->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_PRESERVE_GENERIC_NODES , false );
pObject_town->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_PRESERVE_QUADS , false );
pObject_town->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_ALL_GEOMETRIES_LIT , false );
pObject_town->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_USE_MATERIAL_DIFFUSE_COLOR , false );
pObject_town->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_MONOCHROME , false );
pObject_town->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_CREATE_ANIMATIONS , true );
pObject_town->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_SHARE_LIGHT_POINT_CONTROLS , true );
pObject_town->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_SHARE_LIGHT_POINT_ANIMATIONS , true );
pObject_town->setLoaderOption( vsNodeLoader::Data::LOADER_OPTION_SHARE_LIGHT_POINT_APPEARANCES , true );
pObject_town->setLoaderDetailMultiTextureStage( -1 );
pObject_town->setLoaderBlendTolerance( 0.050000f );
pObject_town->setLoaderUnits( vsNodeLoader::Data::LOADER_UNITS_METERS );
pObject_town->setBuilderOption( vsNodeLoader::Data::BUILDER_OPTION_OPTIMIZE_GEOMETRIES , true );
pObject_town->setBuilderOption( vsNodeLoader::Data::BUILDER_OPTION_COLLAPSE_BINDINGS , true );
pObject_town->setBuilderOption( vsNodeLoader::Data::BUILDER_OPTION_COLLAPSE_TRIANGLE_STRIPS , true );
pObject_town->setBuilderNormalMode( vsNodeLoader::Data::BUILDER_NORMAL_MODE_PRESERVE );
pObject_town->setBuilderColorTolerance( 0.001000f );
pObject_town->setBuilderNormalTolerance( 0.860000f );
pObject_town->setBuilderVertexTolerance( 0.000100f );
pObject_town->setGeometryOption( vsNodeLoader::Data::GEOMETRY_OPTION_GENERATE_DISPLAY_LISTS , false );
pObject_town->setGeometryFormat( vrGeometryBase::FORMAT_VERTEX_ARRAY , 0x0FFF );
pObject_town->setPostLoadOption( vpGeometryPageable::POST_LOAD_OPTION_FLATTEN , true );
pObject_town->setPostLoadOption( vpGeometryPageable::POST_LOAD_OPTION_CLEAN , true );
pObject_town->setPostLoadOption( vpGeometryPageable::POST_LOAD_OPTION_MERGE_GEOMETRIES , true );
pObject_town->setPostLoadOption( vpGeometryPageable::POST_LOAD_OPTION_COLLAPSE_BINDINGS , true );
pObject_town->setPostLoadOption( vpGeometryPageable::POST_LOAD_OPTION_COLLAPSE_TRIANGLE_STRIPS , true );
pObject_town->setPostLoadOption( vpGeometryPageable::POST_LOAD_OPTION_VALIDATE , true );
pObject_town->setTextureSubloadEnable( false );
pObject_town->setTextureSubloadRender( vpGeometry::TEXTURE_SUBLOAD_RENDER_DEFERRED );
s_pInstancesToUnref->push_back( pObject_town );
vpRecyclingService* pRecyclingService_myRecyclingService = vpRecyclingService::instance();
pRecyclingService_myRecyclingService->setMultiThread( vpRecyclingService::MULTITHREAD_INLINE );
pRecyclingService_myRecyclingService->setThreadPriority( vuThread::PRIORITY_NORMAL );
pRecyclingService_myRecyclingService->setThreadProcessor( -1 );
pRecyclingService_myRecyclingService->setRecycleTime( -1.000000 );
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->setVisibilityType( vpEnvFx::VISIBILITY_TYPE_PIXEL_EXP2 );
pEnv_myEnv->setVisibilityRangeOnset( 0.000000f );
pEnv_myEnv->setVisibilityRangeOpaque( 80000.000000f );
pEnv_myEnv->setVisibilityColor( 1.000000f , 1.000000f , 1.000000f , 1.000000f );
pEnv_myEnv->setLocalViewerEnable( false );
pEnv_myEnv->setTwoSidedLightingEnable( false );
pEnv_myEnv->setAmbientLightingColor( 0.000000f , 0.000000f , 0.000000f , 1.000000f );
pEnv_myEnv->setLightColorScale( vpEnv::COLOR_AMBIENT , 1.000000f );
pEnv_myEnv->setLightColorScale( vpEnv::COLOR_DIFFUSE , 1.000000f );
pEnv_myEnv->setLightColorScale( vpEnv::COLOR_SPECULAR , 1.000000f );
pEnv_myEnv->setDominantCelestialLightingEnable( false );
s_pInstancesToUnref->push_back( pEnv_myEnv );
vpEnv* pEnv_myPixelBufferEnv = new vpEnv();
pEnv_myPixelBufferEnv->setName( "myPixelBufferEnv" );
pEnv_myPixelBufferEnv->setDate( 22 , 6 , 2002 );
pEnv_myPixelBufferEnv->setTimeOfDay( 6.000000f );
pEnv_myPixelBufferEnv->setTimeMultiplier( 1.000000f );
pEnv_myPixelBufferEnv->setEphemerisUpdateInterval( 0.000000f );
pEnv_myPixelBufferEnv->setReferencePosition( -96.790001f , 32.790001f );
pEnv_myPixelBufferEnv->setEphemerisTimeZoneOffset( -10000 );
pEnv_myPixelBufferEnv->setSkyColor( 0.513725f , 0.701961f , 0.941176f , 1.000000f );
pEnv_myPixelBufferEnv->setVisibilityType( vpEnvFx::VISIBILITY_TYPE_PIXEL_EXP2 );
pEnv_myPixelBufferEnv->setVisibilityRangeOnset( 0.000000f );
pEnv_myPixelBufferEnv->setVisibilityRangeOpaque( 80000.000000f );
pEnv_myPixelBufferEnv->setVisibilityColor( 1.000000f , 1.000000f , 1.000000f , 1.000000f );
pEnv_myPixelBufferEnv->setLocalViewerEnable( false );
pEnv_myPixelBufferEnv->setTwoSidedLightingEnable( false );
pEnv_myPixelBufferEnv->setAmbientLightingColor( 0.000000f , 0.000000f , 0.000000f , 1.000000f );
pEnv_myPixelBufferEnv->setLightColorScale( vpEnv::COLOR_AMBIENT , 1.000000f );
pEnv_myPixelBufferEnv->setLightColorScale( vpEnv::COLOR_DIFFUSE , 1.000000f );
pEnv_myPixelBufferEnv->setLightColorScale( vpEnv::COLOR_SPECULAR , 1.000000f );
pEnv_myPixelBufferEnv->setDominantCelestialLightingEnable( false );
s_pInstancesToUnref->push_back( pEnv_myPixelBufferEnv );
vpEnvSun* pEnvSun_myEnvSun = new vpEnvSun();
pEnvSun_myEnvSun->setName( "myEnvSun" );
pEnvSun_myEnvSun->setEnable( true );
pEnvSun_myEnvSun->setTwilightDip( -18.000000f );
pEnvSun_myEnvSun->setGeometryEnable( true );
pEnvSun_myEnvSun->setTextureFile( "sun.inta" );
pEnvSun_myEnvSun->setTextureBlendColor( 1.000000f , 1.000000f , 1.000000f , 1.000000f );
pEnvSun_myEnvSun->setTextureBlendMode( vpEnvSun::TEXTURE_BLEND_MODE_MODULATE );
pEnvSun_myEnvSun->setColor( 0.992156f , 1.000000f , 0.949019f , 1.000000f );
pEnvSun_myEnvSun->setVisibilityRange( 8000.000000f );
pEnvSun_myEnvSun->setAngularSize( 5.500000f );
pEnvSun_myEnvSun->setHorizonAngle( 40.000000f );
pEnvSun_myEnvSun->setHorizonColor( 1.000000f , 0.545098f , 0.239216f , 1.000000f );
pEnvSun_myEnvSun->setHorizonSizeScale( 2.000000f );
pEnvSun_myEnvSun->setHorizonLightColorScale( 0.250000f );
s_pInstancesToUnref->push_back( pEnvSun_myEnvSun );
vpEnvSun* pEnvSun_myPixelBufferEnvSun = new vpEnvSun();
pEnvSun_myPixelBufferEnvSun->setName( "myPixelBufferEnvSun" );
pEnvSun_myPixelBufferEnvSun->setEnable( true );
pEnvSun_myPixelBufferEnvSun->setTwilightDip( -18.000000f );
pEnvSun_myPixelBufferEnvSun->setGeometryEnable( false );
pEnvSun_myPixelBufferEnvSun->setTextureFile( "sun.inta" );
pEnvSun_myPixelBufferEnvSun->setTextureBlendColor( 1.000000f , 1.000000f , 1.000000f , 1.000000f );
pEnvSun_myPixelBufferEnvSun->setTextureBlendMode( vpEnvSun::TEXTURE_BLEND_MODE_MODULATE );
pEnvSun_myPixelBufferEnvSun->setColor( 0.992156f , 1.000000f , 0.949019f , 1.000000f );
pEnvSun_myPixelBufferEnvSun->setVisibilityRange( 8000.000000f );
pEnvSun_myPixelBufferEnvSun->setAngularSize( 5.500000f );
pEnvSun_myPixelBufferEnvSun->setHorizonAngle( 40.000000f );
pEnvSun_myPixelBufferEnvSun->setHorizonColor( 1.000000f , 0.545098f , 0.239216f , 1.000000f );
pEnvSun_myPixelBufferEnvSun->setHorizonSizeScale( 2.000000f );
pEnvSun_myPixelBufferEnvSun->setHorizonLightColorScale( 0.250000f );
s_pInstancesToUnref->push_back( pEnvSun_myPixelBufferEnvSun );
vpEnvMoon* pEnvMoon_myEnvMoon = new vpEnvMoon();
pEnvMoon_myEnvMoon->setName( "myEnvMoon" );
pEnvMoon_myEnvMoon->setEnable( true );
pEnvMoon_myEnvMoon->setBrightness( 0.250000f );
pEnvMoon_myEnvMoon->setGeometryEnable( true );
pEnvMoon_myEnvMoon->setTextureFile( "moon.inta" );
pEnvMoon_myEnvMoon->setTextureBlendColor( 1.000000f , 1.000000f , 1.000000f , 1.000000f );
pEnvMoon_myEnvMoon->setTextureBlendMode( vpEnvMoon::TEXTURE_BLEND_MODE_MODULATE );
pEnvMoon_myEnvMoon->setColor( 0.811765f , 0.886275f , 0.937255f , 1.000000f );
pEnvMoon_myEnvMoon->setVisibilityRange( 15000.000000f );
pEnvMoon_myEnvMoon->setAngularSize( 1.500000f );
pEnvMoon_myEnvMoon->setHorizonAngle( 30.000000f );
pEnvMoon_myEnvMoon->setHorizonColor( 0.811765f , 0.886275f , 0.937255f , 1.000000f );
pEnvMoon_myEnvMoon->setHorizonSizeScale( 1.700000f );
pEnvMoon_myEnvMoon->setHorizonLightColorScale( 0.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 );
pEnvSkyDome_myEnvSkyDome->setGroundEnable( true );
pEnvSkyDome_myEnvSkyDome->setVisibilityRange( 0 , 3500.000000f );
pEnvSkyDome_myEnvSkyDome->setVisibilityRange( 1 , 10500.000000f );
pEnvSkyDome_myEnvSkyDome->setVisibilityRange( 2 , 26250.000000f );
pEnvSkyDome_myEnvSkyDome->setVisibilityRange( 3 , 31500.000000f );
pEnvSkyDome_myEnvSkyDome->setVisibilityRange( 4 , 35000.000000f );
pEnvSkyDome_myEnvSkyDome->setVisibilityRange( 5 , 35000.000000f );
pEnvSkyDome_myEnvSkyDome->setVisibilityRange( 6 , 35000.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->setTextureBlendColor( 1.000000f , 1.000000f , 1.000000f , 1.000000f );
pEnvCloudLayer_myEnvCloudLayer->setTextureBlendMode( vpEnvCloudLayer::TEXTURE_BLEND_MODE_MODULATE );
pEnvCloudLayer_myEnvCloudLayer->setTextureTiling( 3.000000f , 3.000000f );
pEnvCloudLayer_myEnvCloudLayer->setMinVisibilityScale( 0.000000f );
pEnvCloudLayer_myEnvCloudLayer->setHorizonColorScale( 1.000000f );
s_pInstancesToUnref->push_back( pEnvCloudLayer_myEnvCloudLayer );
vpEnvWind* pEnvWind_myEnvWind = new vpEnvWind();
pEnvWind_myEnvWind->setName( "myEnvWind" );
pEnvWind_myEnvWind->setEnable( true );
pEnvWind_myEnvWind->setSpeed( 0.000000f );
pEnvWind_myEnvWind->setDirection( 0.000000f , 1.000000f , 0.000000f );
s_pInstancesToUnref->push_back( pEnvWind_myEnvWind );
vpMotionGame* pMotionGame_myMotionGame = new vpMotionGame();
pMotionGame_myMotionGame->setName( "myMotionGame" );
pMotionGame_myMotionGame->setSpeed( 1.000000 );
pMotionGame_myMotionGame->setSpeedDelta( 1.000000 );
pMotionGame_myMotionGame->setRateLook( 50.000000 );
s_pInstancesToUnref->push_back( pMotionGame_myMotionGame );
vpMotionUFO* pMotionUFO_myMotion = new vpMotionUFO();
pMotionUFO_myMotion->setName( "myMotion" );
pMotionUFO_myMotion->setSpeed( 100.000000 );
pMotionUFO_myMotion->setBoost( 50.000000 );
pMotionUFO_myMotion->setBoostTurning( 5.000000 );
pMotionUFO_myMotion->setRateHeading( 40.000000 );
pMotionUFO_myMotion->setRatePitch( 20.000000 );
s_pInstancesToUnref->push_back( pMotionUFO_myMotion );
vpMotionTetherSpin* pMotionTetherSpin_myMotionTetherSpin = new vpMotionTetherSpin();
pMotionTetherSpin_myMotionTetherSpin->setName( "myMotionTetherSpin" );
pMotionTetherSpin_myMotionTetherSpin->setENUBasedEnable( false );
pMotionTetherSpin_myMotionTetherSpin->setResponseScale( 8 );
pMotionTetherSpin_myMotionTetherSpin->setInputEnable( false );
pMotionTetherSpin_myMotionTetherSpin->setRadius( 7.000000 );
pMotionTetherSpin_myMotionTetherSpin->setAngularRate( 0.500000 );
pMotionTetherSpin_myMotionTetherSpin->setElevation( 2.000000 );
s_pInstancesToUnref->push_back( pMotionTetherSpin_myMotionTetherSpin );
//
// Satisfy all references
//
pPipeline_myPipeline->addWindow( pWindow_myWindow );
pPipeline_myPipeline->addWindow( pWindow_myPixelBuffer );
pWindow_myPixelBuffer->addChannel( pChannel_myChannelForPixelBuffer );
pWindow_myWindow->addChannel( pChannel_myChannel );
pObserver_myObserver->setStrategy( pMotionGame_myMotionGame );
pObserver_myObserver->addChannel( pChannel_myChannel );
pObserver_myObserver->addAttachment( pEnv_myEnv );
pObserver_myObserver->setScene( pScene_myScene );
pObserver_myObserverForPixelBuffer->setStrategy( pMotionTetherSpin_myMotionTetherSpin );
pObserver_myObserverForPixelBuffer->addChannel( pChannel_myChannelForPixelBuffer );
pObserver_myObserverForPixelBuffer->addAttachment( pEnv_myPixelBufferEnv );
pObserver_myObserverForPixelBuffer->setScene( pScene_mySceneForPixelBuffer );
pScene_myScene->addChild( pObject_town );
pScene_mySceneForPixelBuffer->addChild( pObject_hummer );
pEnv_myEnv->addEnvFx( pEnvSun_myEnvSun );
pEnv_myEnv->addEnvFx( pEnvMoon_myEnvMoon );
pEnv_myEnv->addEnvFx( pEnvSkyDome_myEnvSkyDome );
pEnv_myEnv->addEnvFx( pEnvCloudLayer_myEnvCloudLayer );
pEnv_myEnv->addEnvFx( pEnvWind_myEnvWind );
pEnv_myPixelBufferEnv->addEnvFx( pEnvSun_myPixelBufferEnvSun );
pMotionTetherSpin_myMotionTetherSpin->setTetherReference( pObject_hummer );
}
void unconfigure( void )
{
//
// Unref all created instances
//
s_pInstancesToUnref->clear();
delete s_pInstancesToUnref;
}
//
// Main Program
//
void main(int argc, char *argv[])
{
// initialize Vega Prime
vp::initialize(argc, argv);
// create my app instance
vpApp *app = new vpApp;
// use the code generated by LynX Prime
define();
// configure my app instance
app->configure();
// execute the main runtime loop
app->run();
// call the unconfig code generated by LynX Prime
unconfigure();
// delete my app instance
app->unref();
// shutdown Vega Prime
vp::shutdown();
} |