NvFlowParticleSurface


Data Structures

struct  NvFlowParticleSurfaceData
 Particle data. More...
struct  NvFlowParticleSurfaceDesc
 Description for creation. More...
struct  NvFlowParticleSurfaceEmitParams
 Parameter for surface emission. More...
struct  NvFlowParticleSurfaceParams
 Parameters for update. More...

Functions

NvFlowParticleSurface * NvFlowCreateParticleSurface (NvFlowContext *context, const NvFlowParticleSurfaceDesc *desc)
void NvFlowParticleSurfaceAllocFunc (NvFlowParticleSurface *surface, NvFlowContext *context, const NvFlowGridEmitCustomAllocParams *params)
NvFlowGridExport * NvFlowParticleSurfaceDebugGridExport (NvFlowParticleSurface *surface, NvFlowContext *context)
void NvFlowParticleSurfaceEmitDensityFunc (NvFlowParticleSurface *surface, NvFlowContext *context, NvFlowUint *dataFrontIdx, const NvFlowGridEmitCustomEmitParams *params, const NvFlowParticleSurfaceEmitParams *emitParams)
void NvFlowParticleSurfaceEmitVelocityFunc (NvFlowParticleSurface *surface, NvFlowContext *context, NvFlowUint *dataFrontIdx, const NvFlowGridEmitCustomEmitParams *params, const NvFlowParticleSurfaceEmitParams *emitParams)
void NvFlowParticleSurfaceUpdateParticles (NvFlowParticleSurface *surface, NvFlowContext *context, const NvFlowParticleSurfaceData *data)
void NvFlowParticleSurfaceUpdateSurface (NvFlowParticleSurface *surface, NvFlowContext *context, const NvFlowParticleSurfaceParams *params)
void NvFlowReleaseParticleSurface (NvFlowParticleSurface *surface)

Function Documentation

NvFlowParticleSurface* NvFlowCreateParticleSurface ( NvFlowContext *  context,
const NvFlowParticleSurfaceDesc desc 
)

Create a particle surface object.

Parameters:
[in] context The context to use to create the new particle surface.
[in] desc Description required to create particle surface object.
Returns:
Returns created particle surface object.

void NvFlowParticleSurfaceAllocFunc ( NvFlowParticleSurface *  surface,
NvFlowContext *  context,
const NvFlowGridEmitCustomAllocParams params 
)

Apply particle surface allocation to grid.

Parameters:
[in] surface The particle surface object.
[in] context The context used to create the particle surface and the grid.
[in] params Parameters for grid custom allocation callback.

NvFlowGridExport* NvFlowParticleSurfaceDebugGridExport ( NvFlowParticleSurface *  surface,
NvFlowContext *  context 
)

Get grid export that can be ray marched to visualize the generated particle surface/volume.

Parameters:
[in] surface The particle surface object.
[in] context The context used to create the particle surface.
Returns:
Returns the grid export.

void NvFlowParticleSurfaceEmitDensityFunc ( NvFlowParticleSurface *  surface,
NvFlowContext *  context,
NvFlowUint dataFrontIdx,
const NvFlowGridEmitCustomEmitParams params,
const NvFlowParticleSurfaceEmitParams emitParams 
)

Apply particle surface emit operation to grid density texture channel.

Parameters:
[in] surface The particle surface object.
[in] context The context used to create the particle surface and the grid.
[in] dataFrontIdx Pointer to front data index.
[in] params Parameters for grid custom emit callback.
[in] emitParams Parameters to control surface emit behavior.

void NvFlowParticleSurfaceEmitVelocityFunc ( NvFlowParticleSurface *  surface,
NvFlowContext *  context,
NvFlowUint dataFrontIdx,
const NvFlowGridEmitCustomEmitParams params,
const NvFlowParticleSurfaceEmitParams emitParams 
)

Apply particle surface emit operation to grid velocity texture channel.

Parameters:
[in] surface The particle surface object.
[in] context The context used to create the particle surface and the grid.
[in] dataFrontIdx Pointer to front data index.
[in] params Parameters for grid custom emit callback.
[in] emitParams Parameters to control surface emit behavior.

void NvFlowParticleSurfaceUpdateParticles ( NvFlowParticleSurface *  surface,
NvFlowContext *  context,
const NvFlowParticleSurfaceData data 
)

Update particle data for particle surface.

Parameters:
[in] surface The particle surface to update.
[in] context The context used to create the particle surface.
[in] data Particle data.

void NvFlowParticleSurfaceUpdateSurface ( NvFlowParticleSurface *  surface,
NvFlowContext *  context,
const NvFlowParticleSurfaceParams params 
)

Generate surface using the latest particle data.

Parameters:
[in] surface The particle surface to update.
[in] context The context used to create the particle surface.
[in] params Parameters for surface generation.

void NvFlowReleaseParticleSurface ( NvFlowParticleSurface *  surface  ) 

Releases a particle surface object.

Parameters:
[in] surface The particle surface object to be released.