diff options
| author | sschirm <[email protected]> | 2016-12-23 14:20:36 +0100 |
|---|---|---|
| committer | sschirm <[email protected]> | 2016-12-23 14:56:17 +0100 |
| commit | ef6937e69e8ee3f409cf9d460d5ad300a65d5924 (patch) | |
| tree | 710426e8daa605551ce3f34b581897011101c30f /APEX_1.4/module/basicfs/src/AttractorFSAssetPreview.cpp | |
| parent | Initial commit: (diff) | |
| download | physx-3.4-ef6937e69e8ee3f409cf9d460d5ad300a65d5924.tar.xz physx-3.4-ef6937e69e8ee3f409cf9d460d5ad300a65d5924.zip | |
PhysX 3.4 / APEX 1.4 release candidate @21506124
Diffstat (limited to 'APEX_1.4/module/basicfs/src/AttractorFSAssetPreview.cpp')
| -rw-r--r-- | APEX_1.4/module/basicfs/src/AttractorFSAssetPreview.cpp | 326 |
1 files changed, 0 insertions, 326 deletions
diff --git a/APEX_1.4/module/basicfs/src/AttractorFSAssetPreview.cpp b/APEX_1.4/module/basicfs/src/AttractorFSAssetPreview.cpp deleted file mode 100644 index 5cf76370..00000000 --- a/APEX_1.4/module/basicfs/src/AttractorFSAssetPreview.cpp +++ /dev/null @@ -1,326 +0,0 @@ -/* - * 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 "ApexDefs.h" -#include "nvparameterized/NvParamUtils.h" -#include "AttractorFSAsset.h" -#include "AttractorFSAssetParams.h" -#include "AttractorFSPreview.h" -#include "AttractorFSAssetPreview.h" -#include "ModulePerfScope.h" -#include "ApexUsingNamespace.h" - -#include "ReadCheck.h" -#include "WriteCheck.h" - -namespace nvidia -{ -namespace basicfs -{ - -using namespace APEX_ATTRACT; - -void AttractorFSAssetPreview::drawAttractorFSPreview(void) -{ - PX_PROFILE_ZONE("AttractorFSDrawPreview", GetInternalApexSDK()->getContextId()); - - if (mPreviewDetail & ATTRACT_DRAW_SHAPE) - { - drawPreviewShape(); - } -} - -#define ASSET_INFO_XPOS (-0.9f) // left position of the asset info -#define ASSET_INFO_YPOS ( 0.9f) // top position of the asset info -#define DEBUG_TEXT_HEIGHT (0.35f) //in screen space -- would be nice to know this! - - -void AttractorFSAssetPreview::drawPreviewShape() -{ -#ifndef WITHOUT_DEBUG_VISUALIZE - if (!mApexRenderDebug) - { - return; - } - - if (mDrawGroupBox == 0) - { - mDrawGroupBox = RENDER_DEBUG_IFACE(mApexRenderDebug)->beginDrawGroup(PxMat44(PxIdentity)); - RENDER_DEBUG_IFACE(mApexRenderDebug)->setCurrentColor(RENDER_DEBUG_IFACE(mApexRenderDebug)->getDebugColor(RENDER_DEBUG::DebugColors::DarkGreen)); - RENDER_DEBUG_IFACE(mApexRenderDebug)->debugSphere(PxVec3(0.0f), mRadius); // * scale); - RENDER_DEBUG_IFACE(mApexRenderDebug)->endDrawGroup(); - } - - setDrawGroupsPose(); -#endif -} - -void AttractorFSAssetPreview::toggleDrawPreview() -{ - if (mPreviewDetail & ATTRACT_DRAW_SHAPE) - { - RENDER_DEBUG_IFACE(mApexRenderDebug)->setDrawGroupVisible(mDrawGroupBox, true); - } - else - { - RENDER_DEBUG_IFACE(mApexRenderDebug)->setDrawGroupVisible(mDrawGroupBox, false); - } -} - -void AttractorFSAssetPreview::setDrawGroupsPose() -{ - RENDER_DEBUG_IFACE(mApexRenderDebug)->setDrawGroupPose(mDrawGroupBox, mPose); -} - - -void AttractorFSAssetPreview::drawInfoLine(uint32_t lineNum, const char* str) -{ -#ifdef WITHOUT_DEBUG_VISUALIZE - PX_UNUSED(lineNum); - PX_UNUSED(str); -#else - RENDER_DEBUG_IFACE(mApexRenderDebug)->setCurrentColor(RENDER_DEBUG_IFACE(mApexRenderDebug)->getDebugColor(RENDER_DEBUG::DebugColors::Green)); - PxMat44 cameraMatrix = mPreviewScene->getCameraMatrix(); - PxVec3 textLocation = mPose.getPosition(); - textLocation += cameraMatrix.column1.getXYZ() * (ASSET_INFO_YPOS - (lineNum * DEBUG_TEXT_HEIGHT)); - RENDER_DEBUG_IFACE(mApexRenderDebug)->debugText(textLocation, str); -#endif -} - -void AttractorFSAssetPreview::drawPreviewAssetInfo() -{ -#ifndef WITHOUT_DEBUG_VISUALIZE - if (!mApexRenderDebug) - { - return; - } - - char buf[128]; - buf[sizeof(buf) - 1] = 0; - - ApexSimpleString myString; - ApexSimpleString floatStr; - uint32_t lineNum = 0; - - RENDER_DEBUG_IFACE(mApexRenderDebug)->pushRenderState(); - // RENDER_DEBUG_IFACE(mApexRenderDebug)->addToCurrentState(RENDER_DEBUG::DebugRenderState::ScreenSpace); - RENDER_DEBUG_IFACE(mApexRenderDebug)->addToCurrentState(RENDER_DEBUG::DebugRenderState::NoZbuffer); - RENDER_DEBUG_IFACE(mApexRenderDebug)->setCurrentTextScale(1.0f); - RENDER_DEBUG_IFACE(mApexRenderDebug)->setCurrentColor(RENDER_DEBUG_IFACE(mApexRenderDebug)->getDebugColor(RENDER_DEBUG::DebugColors::Yellow)); - - // asset name - APEX_SPRINTF_S(buf, sizeof(buf) - 1, "%s %s", mAsset->getObjTypeName(), mAsset->getName()); - drawInfoLine(lineNum++, buf); - lineNum++; - - if(mPreviewScene->getShowFullInfo()) - { - // TODO: cache strings - AttractorFSAssetParams* assetParams = static_cast<AttractorFSAssetParams*>(mAsset->getAssetNvParameterized()); - PX_ASSERT(assetParams); - - // attractor info - float radius = assetParams->radius; - float constFieldStrength = assetParams->constFieldStrength; - float variableFieldStrength = assetParams->variableFieldStrength; - - myString = "Attractor radius = "; - ApexSimpleString::ftoa(radius, floatStr); - myString += floatStr; - drawInfoLine(lineNum++, myString.c_str()); - - myString = "Constant field strength coefficient = "; - ApexSimpleString::ftoa(constFieldStrength, floatStr); - myString += floatStr; - drawInfoLine(lineNum++, myString.c_str()); - - myString = "Variable field strength coefficient = "; - ApexSimpleString::ftoa(variableFieldStrength, floatStr); - myString += floatStr; - drawInfoLine(lineNum++, myString.c_str()); - - // fieldSampler filter data info - if (assetParams->fieldSamplerFilterDataName.buf) - { - APEX_SPRINTF_S(buf, sizeof(buf) - 1, "FieldSampler Filter Data = %s", - assetParams->fieldSamplerFilterDataName.buf - ); - drawInfoLine(lineNum++, buf); - } - - // fieldBoundary filter data info - if (assetParams->fieldBoundaryFilterDataName.buf) - { - myString = "FieldBoundary Filter Data = "; - myString += ApexSimpleString(assetParams->fieldBoundaryFilterDataName.buf); - drawInfoLine(lineNum++, myString.c_str()); - } - - // implicit info - myString = "Fade Percentage = "; - ApexSimpleString::ftoa(assetParams->boundaryFadePercentage, floatStr); - myString += floatStr; - drawInfoLine(lineNum++, myString.c_str()); - } - - RENDER_DEBUG_IFACE(mApexRenderDebug)->popRenderState(); -#endif -} - -AttractorFSAssetPreview::~AttractorFSAssetPreview(void) -{ - if (mApexRenderDebug) - { - RENDER_DEBUG_IFACE(mApexRenderDebug)->reset((int32_t)mDrawGroupBox); - RENDER_DEBUG_IFACE(mApexRenderDebug)->reset(); - } -} - -void AttractorFSAssetPreview::setPose(const PxMat44& pose) -{ - mPose = pose; - setDrawGroupsPose(); -} - -const PxMat44 AttractorFSAssetPreview::getPose() const -{ - return mPose; -} - -void AttractorFSAssetPreview::setRadius(float radius) -{ - WRITE_ZONE(); - mRadius = radius; -} - -const float AttractorFSAssetPreview::getRadius() const -{ - READ_ZONE(); - return mRadius; -} - -// from RenderDataProvider -void AttractorFSAssetPreview::lockRenderResources(void) -{ - ApexRenderable::renderDataLock(); -} - -void AttractorFSAssetPreview::unlockRenderResources(void) -{ - ApexRenderable::renderDataUnLock(); -} - -void AttractorFSAssetPreview::updateRenderResources(bool /*rewriteBuffers*/, void* /*userRenderData*/) -{ - if (mApexRenderDebug) - { - mApexRenderDebug->updateRenderResources(); - } -} - -void AttractorFSAssetPreview::dispatchRenderResources(UserRenderer& renderer) -{ - if (mApexRenderDebug) - { - if (mPreviewDetail & ATTRACT_DRAW_ASSET_INFO) - { - drawPreviewAssetInfo(); - } - mApexRenderDebug->dispatchRenderResources(renderer); - } -} - -PxBounds3 AttractorFSAssetPreview::getBounds(void) const -{ - if (mApexRenderDebug) - { - return mApexRenderDebug->getBounds(); - } - else - { - PxBounds3 b; - b.setEmpty(); - return b; - } -} - -void AttractorFSAssetPreview::destroy(void) -{ - delete this; -} - -float AttractorFSAssetPreview::getAttractorRadius(NvParameterized::Interface* assetParams) -{ - float radius = 0.0f; - const char* name = "radius"; - - NvParameterized::Handle handle(*assetParams, name); - bool handleIsValid = handle.isValid(); - PX_ASSERT(handleIsValid); - PX_UNUSED(handleIsValid); - //APEX_DEBUG_WARNING("Test."); - NvParameterized::ErrorType errorGetRadius = handle.getParamF32(radius); - PX_ASSERT(errorGetRadius == NvParameterized::ERROR_NONE); - PX_UNUSED(errorGetRadius); - - return radius; - - // the other way to do it ... - //AttractorFSAssetParams* attractorAssetParams = static_cast<AttractorFSAssetParams*>(assetParams); - //PX_ASSERT(assetParams); - - //return attractorAssetParams->radius; -} - -void AttractorFSAssetPreview::release(void) -{ - if (mInRelease) - { - return; - } - mInRelease = true; - mAsset->releaseAttractorFSPreview(*this); -} - -AttractorFSAssetPreview::AttractorFSAssetPreview(const AttractorFSPreviewDesc& PreviewDesc, ApexSDK* myApexSDK, AttractorFSAsset* mAttractorFSAsset, AssetPreviewScene* previewScene) : - mPose(PreviewDesc.mPose), - mApexSDK(myApexSDK), - mAsset(mAttractorFSAsset), - mPreviewScene(previewScene), - mPreviewDetail(PreviewDesc.mPreviewDetail), - mDrawGroupBox(0), - mApexRenderDebug(0) -{ - NvParameterized::Interface* assetParams = mAttractorFSAsset->getAssetNvParameterized(); //FIXME: const - PX_ASSERT(assetParams); - - if (assetParams) - { - mRadius = getAttractorRadius(assetParams); - } - - drawAttractorFSPreview(); -}; - - -void AttractorFSAssetPreview::setDetailLevel(uint32_t detail) -{ - READ_ZONE(); - if(detail != mPreviewDetail) - { - mPreviewDetail = detail; - toggleDrawPreview(); - } -} - -} -} // namespace nvidia - |