PxAnisotropyGenerator#
Defined in include/PxAnisotropy.h
-
class PxAnisotropyGenerator#
Computes anisotropy information for a particle system to improve rendering quality.
Public Functions
- virtual void generateAnisotropy(
- PxGpuParticleSystem *gpuParticleSystem,
- PxU32 numParticles,
- CUstream stream,
Schedules the compuation of anisotropy information 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 generateAnisotropy(
- PxVec4 *particlePositionsGpu,
- PxParticleNeighborhoodProvider &neighborhoodProvider,
- PxU32 numParticles,
- PxReal particleContactOffset,
- CUstream stream,
Schedules the compuation of anisotropy information 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( ) = 0#
Set a host buffer that holds the anisotropy data after the timestep completed.
- Parameters:
anisotropy1 – [in] A host buffer holding the first row of the anisotropy matrix with memory for all particles already allocated
anisotropy2 – [in] A host buffer holding the second row of the anisotropy matrix with memory for all particles already allocated
anisotropy3 – [in] A host buffer holding the third row of the anisotropy matrix with memory for all particles already allocated
- virtual void setResultBufferDevice( ) = 0#
Set a device buffer that holds the anisotrpy data after the timestep completed.
- Parameters:
anisotropy1 – [in] A device buffer holding the first row of the anisotropy matrix with memory for all particles already allocated
anisotropy2 – [in] A device buffer holding the second row of the anisotropy matrix with memory for all particles already allocated
anisotropy3 – [in] A device buffer holding the third row of the anisotropy matrix with memory for all particles already allocated
-
virtual void setAnisotropyMax(float maxAnisotropy) = 0#
Sets the maximum value anisotropy can reach in any direction.
- Parameters:
maxAnisotropy – [in] The maximum anisotropy value
-
virtual void setAnisotropyMin(float minAnisotropy) = 0#
Sets the minimum value anisotropy can reach in any direction.
- Parameters:
minAnisotropy – [in] The minimum anisotropy value
-
virtual void setAnisotropyScale(float anisotropyScale) = 0#
Sets the anisotropy scale.
- Parameters:
anisotropyScale – [in] The anisotropy scale
-
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 *getAnisotropy1DevicePointer() const = 0#
Gets the device pointer for the anisotropy in x direction.
Only available after calling setResultBufferHost or setResultBufferDevice
- Returns:
The device pointer for the anisotropy x direction and scale (w component contains the scale)
-
virtual PxVec4 *getAnisotropy2DevicePointer() const = 0#
Gets the device pointer for the anisotropy in y direction.
Only available after calling setResultBufferHost or setResultBufferDevice
- Returns:
The device pointer for the anisotropy y direction and scale (w component contains the scale)
-
virtual PxVec4 *getAnisotropy3DevicePointer() const = 0#
Gets the device pointer for the anisotropy in z direction.
Only available after calling setResultBufferHost or setResultBufferDevice
- Returns:
The device pointer for the anisotropy z direction and scale (w component contains the scale)
-
virtual void setEnabled(bool enabled) = 0#
Enables or disables the anisotropy generator.
- Parameters:
enabled – [in] The boolean to set the generator to enabled or disabled
-
virtual bool isEnabled() const = 0#
Allows to query if the anisotropy generator is enabled.
- Returns:
True if enabled, false otherwise
-
virtual void release() = 0#
Releases the instance and its data.
-
inline virtual ~PxAnisotropyGenerator()#
Destructor.