diff options
| author | Sheikh Dawood Abdul Ajees <[email protected]> | 2017-09-15 15:41:57 -0500 |
|---|---|---|
| committer | Sheikh Dawood Abdul Ajees <[email protected]> | 2017-09-15 15:41:57 -0500 |
| commit | d1c812f1162e5fdb13c215792725b2591d7428f5 (patch) | |
| tree | 407056c45c7e9320c48fca6a3697d81a061c4ea0 /APEX_1.4/samples_v2/SampleParticlesHelloWorld/SampleSceneController.cpp | |
| parent | PhysX 3.4, APEX 1.4 patch release @22121272 (diff) | |
| download | physx-3.4-d1c812f1162e5fdb13c215792725b2591d7428f5.tar.xz physx-3.4-d1c812f1162e5fdb13c215792725b2591d7428f5.zip | |
PhysX 3.4.1, APEX 1.4.1 Release @22845541v3.4.1
Diffstat (limited to 'APEX_1.4/samples_v2/SampleParticlesHelloWorld/SampleSceneController.cpp')
| -rw-r--r-- | APEX_1.4/samples_v2/SampleParticlesHelloWorld/SampleSceneController.cpp | 51 |
1 files changed, 31 insertions, 20 deletions
diff --git a/APEX_1.4/samples_v2/SampleParticlesHelloWorld/SampleSceneController.cpp b/APEX_1.4/samples_v2/SampleParticlesHelloWorld/SampleSceneController.cpp index 2744b6a9..3338c61d 100644 --- a/APEX_1.4/samples_v2/SampleParticlesHelloWorld/SampleSceneController.cpp +++ b/APEX_1.4/samples_v2/SampleParticlesHelloWorld/SampleSceneController.cpp @@ -60,18 +60,22 @@ SampleSceneController::~SampleSceneController() void SampleSceneController::onSampleStart() { - // setup camera - DirectX::XMVECTORF32 lookAtPt = { 0, 2, 0, 0 }; - DirectX::XMVECTORF32 eyePt = { 0, 5, 10, 0 }; - mCamera->SetViewParams(eyePt, lookAtPt); - mCamera->SetRotateButtons(false, false, true, false); - mCamera->SetEnablePositionMovement(true); - - // load effect package DB - loadEffectPackageDatabase(); - - // spawn actor - setCurrentAsset(0); + PX_ASSERT_WITH_MESSAGE(mApex.getModuleParticles(), "Particle dll can't be found or ApexFramework was built withoud particles support"); + if (mApex.getModuleParticles()) + { + // setup camera + DirectX::XMVECTORF32 lookAtPt = {0, 2, 0, 0}; + DirectX::XMVECTORF32 eyePt = {0, 5, 10, 0}; + mCamera->SetViewParams(eyePt, lookAtPt); + mCamera->SetRotateButtons(false, false, true, false); + mCamera->SetEnablePositionMovement(true); + + // load effect package DB + loadEffectPackageDatabase(); + + // spawn actor + setCurrentAsset(0); + } } void SampleSceneController::loadEffectPackageDatabase() @@ -80,6 +84,10 @@ void SampleSceneController::loadEffectPackageDatabase() ApexResourceCallback* resourceCallback = mApex.getResourceCallback(); ModuleParticles* moduleParticles = mApex.getModuleParticles(); + if (moduleParticles == NULL) + { + return; + } // Load the EffectPackage database iface = resourceCallback->deserializeFromFile("EffectPackageEffectPackagesDatabase.apb"); @@ -137,16 +145,19 @@ void SampleSceneController::loadEffectPackageDatabase() void SampleSceneController::setCurrentAsset(int num) { - int assetsCount = getAssetsCount(); - num = nvidia::PxClamp(num, 0, assetsCount - 1); - - mCurrentAsset = num; - if (mActor != NULL) + if (mApex.getModuleParticles()) { - mApex.removeActor(mActor); - mActor = NULL; + int assetsCount = getAssetsCount(); + num = nvidia::PxClamp(num, 0, assetsCount - 1); + + mCurrentAsset = num; + if (mActor != NULL) + { + mApex.removeActor(mActor); + mActor = NULL; + } + mActor = mApex.spawnEffectPackageActor(ASSETS[num].model); } - mActor = mApex.spawnEffectPackageActor(ASSETS[num].model); } void SampleSceneController::Animate(double dt) |