PxSmoothedPositionGenerator#
Defined in include/PxSmoothing.h
-
class PxSmoothedPositionGenerator#
Ccomputes smoothed positions for a particle system to improve rendering quality.
Public Functions
- virtual void generateSmoothedPositions(
- PxGpuParticleSystem *gpuParticleSystem,
- PxU32 numParticles,
- CUstream stream,
Schedules the compuation of smoothed positions on the specified cuda stream.
- Parameters:
gpuParticleSystem – [in] A gpu pointer to access particle system data
numParticles – [in] The number of particles
stream – [in] The stream on which the cuda call gets scheduled
- virtual void generateSmoothedPositions(
- PxVec4 *particlePositionsGpu,
- PxParticleNeighborhoodProvider &neighborhoodProvider,
- PxU32 numParticles,
- PxReal particleContactOffset,
- CUstream stream,
Schedules the compuation of smoothed positions on the specified cuda stream.
- Parameters:
particlePositionsGpu – [in] A gpu pointer containing the particle positions
neighborhoodProvider – [in] A neighborhood provider object that supports fast neighborhood queries
numParticles – [in] The number of particles
particleContactOffset – [in] The particle contact offset
stream – [in] The stream on which the cuda call gets scheduled
-
virtual void setResultBufferHost(PxVec4 *smoothedPositions) = 0#
Set a host buffer that holds the smoothed position data after the timestep completed.
- Parameters:
smoothedPositions – [in] A host buffer with memory for all particles already allocated
-
virtual void setResultBufferDevice(PxVec4 *smoothedPositions) = 0#
Set a device buffer that holds the smoothed position data after the timestep completed.
- Parameters:
smoothedPositions – [in] A device buffer with memory for all particles already allocated
-
virtual void setSmoothing(float smoothingStrenght) = 0#
Sets the intensity of the position smoothing effect.
- Parameters:
smoothingStrenght – [in] The strength of the smoothing effect
-
virtual PxU32 getMaxParticles() const = 0#
Gets the maximal number of particles.
- Returns:
The maximal number of particles
-
virtual void setMaxParticles(PxU32 maxParticles) = 0#
Sets the maximal number of particles.
- Parameters:
maxParticles – [in] The maximal number of particles
-
virtual PxVec4 *getSmoothedPositionsDevicePointer() const = 0#
Gets the device pointer for the smoothed positions.
Only available after calling setResultBufferHost or setResultBufferDevice
- Returns:
The device pointer for the smoothed positions
-
virtual void setEnabled(bool enabled) = 0#
Enables or disables the smoothed position generator.
- Parameters:
enabled – [in] The boolean to set the generator to enabled or disabled
-
virtual bool isEnabled() const = 0#
Allows to query if the smoothed position generator is enabled.
- Returns:
True if enabled, false otherwise
-
virtual void release() = 0#
Releases the instance and its data.
-
inline virtual ~PxSmoothedPositionGenerator()#
Destructor.