aboutsummaryrefslogtreecommitdiff
path: root/APEX_1.4/samples_v2/SampleParticlesHelloWorld/SampleSceneController.cpp
diff options
context:
space:
mode:
authorSheikh Dawood Abdul Ajees <[email protected]>2017-09-15 15:41:57 -0500
committerSheikh Dawood Abdul Ajees <[email protected]>2017-09-15 15:41:57 -0500
commitd1c812f1162e5fdb13c215792725b2591d7428f5 (patch)
tree407056c45c7e9320c48fca6a3697d81a061c4ea0 /APEX_1.4/samples_v2/SampleParticlesHelloWorld/SampleSceneController.cpp
parentPhysX 3.4, APEX 1.4 patch release @22121272 (diff)
downloadphysx-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.cpp51
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)