00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef PX_PARTICLE_GPU_H
00032 #define PX_PARTICLE_GPU_H
00033
00037 #include "PxPhysXConfig.h"
00038
00039 #if PX_SUPPORT_GPU_PHYSX
00040
00041 #include "common/PxPhysXCommonConfig.h"
00042 #include "task/PxTask.h"
00043
00044 #if !PX_DOXYGEN
00045 namespace physx
00046 {
00047 #endif
00048
00056 struct PX_DEPRECATED PxTriangleMeshCacheStatistics
00057 {
00058 PxU32 bytesTotal;
00059 PxU32 bytesUsed;
00060 PxU32 bytesUsedMax;
00061 PxReal percentageHitrate;
00062
00063 PxTriangleMeshCacheStatistics() : bytesTotal(0), bytesUsed(0), bytesUsedMax(0), percentageHitrate(0.0f) {}
00064 };
00065
00070 class PX_DEPRECATED PxParticleGpu
00071 {
00072 public:
00073
00085 PX_PHYSX_CORE_API static bool createTriangleMeshMirror(const class PxTriangleMesh& triangleMesh, PxCudaContextManager& contextManager);
00086
00097 PX_PHYSX_CORE_API static void releaseTriangleMeshMirror(const class PxTriangleMesh& triangleMesh, PxCudaContextManager* contextManager = NULL);
00098
00110 PX_PHYSX_CORE_API static bool createHeightFieldMirror(const class PxHeightField& heightField, PxCudaContextManager& contextManager);
00111
00122 PX_PHYSX_CORE_API static void releaseHeightFieldMirror(const class PxHeightField& heightField, PxCudaContextManager* contextManager = NULL);
00123
00135 PX_PHYSX_CORE_API static bool createConvexMeshMirror(const class PxConvexMesh& convexMesh, PxCudaContextManager& contextManager);
00136
00147 PX_PHYSX_CORE_API static void releaseConvexMeshMirror(const class PxConvexMesh& convexMesh, PxCudaContextManager* contextManager = NULL);
00148
00161 PX_PHYSX_CORE_API static void setExplicitCudaFlushCountHint(const class PxScene& scene, PxU32 cudaFlushCount);
00162
00173 PX_PHYSX_CORE_API static bool setTriangleMeshCacheSizeHint(const class PxScene& scene, PxU32 size);
00174
00185 PX_PHYSX_CORE_API static PxTriangleMeshCacheStatistics getTriangleMeshCacheStatistics(const class PxScene& scene);
00186
00187 };
00188
00189 #if !PX_DOXYGEN
00190 }
00191 #endif
00192
00193 #endif // PX_SUPPORT_GPU_PHYSX
00194
00196 #endif //PX_PARTICLE_GPU_H