diff options
| author | sschirm <[email protected]> | 2016-12-27 13:43:54 +0100 |
|---|---|---|
| committer | sschirm <[email protected]> | 2016-12-27 13:43:54 +0100 |
| commit | 64566804758e08a4c1d13fc1f8f7cb9ea8c674c8 (patch) | |
| tree | ff28d36ab8f2023176d84ba397ad5aaf508dcff6 /APEX_1.4/samples_v2/SampleParticlesMeshParticles/SampleSceneController.cpp | |
| parent | PhysX 3.4 / APEX 1.4 release candidate @21506124 (diff) | |
| download | physx-3.4-64566804758e08a4c1d13fc1f8f7cb9ea8c674c8.tar.xz physx-3.4-64566804758e08a4c1d13fc1f8f7cb9ea8c674c8.zip | |
PhysX 3.4, APEX 1.4 release candidate update: @21511067-21511214
Diffstat (limited to 'APEX_1.4/samples_v2/SampleParticlesMeshParticles/SampleSceneController.cpp')
| -rw-r--r-- | APEX_1.4/samples_v2/SampleParticlesMeshParticles/SampleSceneController.cpp | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/APEX_1.4/samples_v2/SampleParticlesMeshParticles/SampleSceneController.cpp b/APEX_1.4/samples_v2/SampleParticlesMeshParticles/SampleSceneController.cpp new file mode 100644 index 00000000..9df8d0f9 --- /dev/null +++ b/APEX_1.4/samples_v2/SampleParticlesMeshParticles/SampleSceneController.cpp @@ -0,0 +1,67 @@ +/* +* Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved. +* +* NVIDIA CORPORATION and its licensors retain all intellectual property +* and proprietary rights in and to this software, related documentation +* and any modifications thereto. Any use, reproduction, disclosure or +* distribution of this software and related documentation without an express +* license agreement from NVIDIA CORPORATION is strictly prohibited. +*/ + +#include "SampleSceneController.h" +#include "ApexRenderer.h" // for matrix conversion +#include <DirectXMath.h> +#include "XInput.h" +#include "DXUTMisc.h" +#pragma warning(push) +#pragma warning(disable : 4481) // Suppress "nonstandard extension used" warning +#include "DXUTCamera.h" +#pragma warning(pop) + +#include "PxPhysicsAPI.h" +#include "PxMath.h" + +#include "ApexResourceCallback.h" +#include "PhysXPrimitive.h" + +#include "EmitterAsset.h" +#include "EmitterActor.h" + +using namespace physx; + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +SampleSceneController::SampleSceneController(CFirstPersonCamera* camera, ApexController& apex) + : mApex(apex), mCamera(camera) +{ +} + +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); + + // spawn mesh emitter + nvidia::apex::Asset *asset = (nvidia::apex::Asset *)mApex.getApexSDK()->getNamedResourceProvider()->getResource(EMITTER_AUTHORING_TYPE_NAME, "testMeshEmitter4ParticleIos"); + NvParameterized::Interface *defaultActorDesc = asset->getDefaultActorDesc(); + NvParameterized::setParamTransform(*defaultActorDesc, "InitialPose", PxTransform(PxIdentity)); + EmitterActor *actor = (EmitterActor*)asset->createApexActor(*defaultActorDesc, *(mApex.getApexScene())); + + actor->startEmit(true); + +} + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + |