diff options
Diffstat (limited to 'APEX_1.4/module/fieldsampler/src/FieldSamplerSceneWrapper.cpp')
| -rw-r--r-- | APEX_1.4/module/fieldsampler/src/FieldSamplerSceneWrapper.cpp | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/APEX_1.4/module/fieldsampler/src/FieldSamplerSceneWrapper.cpp b/APEX_1.4/module/fieldsampler/src/FieldSamplerSceneWrapper.cpp deleted file mode 100644 index 405462e7..00000000 --- a/APEX_1.4/module/fieldsampler/src/FieldSamplerSceneWrapper.cpp +++ /dev/null @@ -1,143 +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 "Apex.h" -#include "FieldSamplerSceneWrapper.h" -#include "FieldSamplerManager.h" -#include "FieldBoundaryWrapper.h" -#include "FieldSamplerWrapper.h" - - -namespace nvidia -{ -namespace fieldsampler -{ - -FieldSamplerSceneWrapper::FieldSamplerSceneWrapper(ResourceList& list, FieldSamplerManager* manager, FieldSamplerSceneIntl* fieldSamplerScene) - : mManager(manager) - , mFieldSamplerScene(fieldSamplerScene) - , mFieldBoundaryListChanged(false) -{ - mFieldSamplerScene->getFieldSamplerSceneDesc(mFieldSamplerSceneDesc); - - list.add(*this); -} - -void FieldSamplerSceneWrapper::release() -{ - delete this; -} - -FieldSamplerSceneWrapper::FieldBoundaryInfo* FieldSamplerSceneWrapper::addFieldBoundary(FieldBoundaryWrapper* fieldBoundaryWrapper) -{ - FieldBoundaryInfo* fieldBoundaryInfo = NULL; - for (uint32_t i = 0; i < mFieldBoundaryList.getSize(); ++i) - { - FieldBoundaryInfo* info = DYNAMIC_CAST(FieldBoundaryInfo*)(mFieldBoundaryList.getResource(i)); - if (info->getFieldBoundaryWrapper() == fieldBoundaryWrapper) - { - fieldBoundaryInfo = info; - break; - } - } - if (fieldBoundaryInfo == NULL) - { - fieldBoundaryInfo = createFieldBoundaryInfo(fieldBoundaryWrapper); - mFieldBoundaryListChanged = true; - } - fieldBoundaryInfo->addRef(); - return fieldBoundaryInfo; -} - -void FieldSamplerSceneWrapper::removeFieldBoundary(FieldBoundaryInfo* fieldBoundaryInfo) -{ - if (fieldBoundaryInfo->releaseRef()) - { - mFieldBoundaryListChanged = true; - } -} - -void FieldSamplerSceneWrapper::update() -{ - for (uint32_t i = 0; i < mFieldBoundaryList.getSize(); ++i) - { - FieldBoundaryInfo* info = DYNAMIC_CAST(FieldBoundaryInfo*)(mFieldBoundaryList.getResource(i)); - info->update(); - } -} - -/******************************** CPU Version ********************************/ -FieldSamplerSceneWrapperCPU::FieldSamplerSceneWrapperCPU(ResourceList& list, FieldSamplerManager* manager, FieldSamplerSceneIntl* fieldSamplerScene) - : FieldSamplerSceneWrapper(list, manager, fieldSamplerScene) -{ -} - -/******************************** GPU Version ********************************/ -#if APEX_CUDA_SUPPORT - -FieldSamplerSceneWrapperGPU::FieldSamplerSceneWrapperGPU(ResourceList& list, FieldSamplerManager* manager, FieldSamplerSceneIntl* fieldSamplerScene) - : FieldSamplerSceneWrapper(list, manager, fieldSamplerScene) - , mConstStorage(*fieldSamplerScene->getFieldSamplerCudaConstStorage()) -{ -} - -void FieldSamplerSceneWrapperGPU::postUpdate() -{ - PxCudaContextManager* ctx = DYNAMIC_CAST(FieldSamplerSceneGPU*)(mManager->getScene())->getCudaContext(); - PxScopedCudaLock _lock_(*ctx); - - getConstStorage().copyToDevice(ctx, 0); -} - - -FieldSamplerSceneWrapperGPU::FieldBoundaryInfoGPU::FieldBoundaryInfoGPU(ResourceList& list, FieldBoundaryWrapper* fieldBoundaryWrapper, ApexCudaConstStorage& constStorage) - : FieldBoundaryInfo(list, fieldBoundaryWrapper) - , mConstMemGroup(constStorage) -{ - APEX_CUDA_CONST_MEM_GROUP_SCOPE(mConstMemGroup); - mFieldShapeGroupParamsHandle.alloc(_storage_); -} - -void FieldSamplerSceneWrapperGPU::FieldBoundaryInfoGPU::update() -{ - if (mFieldBoundaryWrapper->getFieldShapesChanged()) - { - APEX_CUDA_CONST_MEM_GROUP_SCOPE(mConstMemGroup); - - FieldShapeGroupParams shapeGroupParams; - mFieldShapeGroupParamsHandle.fetch(_storage_, shapeGroupParams); - - const nvidia::Array<FieldShapeDescIntl>& shapes = mFieldBoundaryWrapper->getFieldShapes(); - uint32_t shapeCount = shapes.size(); - shapeGroupParams.shapeArray.resize(_storage_, shapeCount); - for (uint32_t i = 0; i < shapeCount; ++i) - { - FieldShapeParams elem; - elem.type = shapes[i].type; - elem.dimensions = shapes[i].dimensions; - elem.worldToShape = shapes[i].worldToShape; - PX_ASSERT(shapes[i].weight >= 0.0f && shapes[i].weight <= 1.0f); - elem.weight = PxClamp(shapes[i].weight, 0.0f, 1.0f); - elem.fade = 0; - - shapeGroupParams.shapeArray.updateElem(_storage_, elem, i); - } - - mFieldShapeGroupParamsHandle.update(_storage_, shapeGroupParams); - } -} - -#endif // APEX_CUDA_SUPPORT - -} -} // end namespace nvidia::apex - |