NvFlowVolumeShadow


Data Structures

struct  NvFlowVolumeShadowDebugRenderParams
 Parameters required to visualize shadow block allocation. More...
struct  NvFlowVolumeShadowDesc
 Description required to create volume shadow object. More...
struct  NvFlowVolumeShadowParams
 Parameters required to update volume shadows. More...
struct  NvFlowVolumeShadowStats
 Stats on currently active volume shadow. More...

Functions

NvFlowVolumeShadow * NvFlowCreateVolumeShadow (NvFlowContext *context, const NvFlowVolumeShadowDesc *desc)
void NvFlowReleaseVolumeShadow (NvFlowVolumeShadow *volumeShadow)
void NvFlowVolumeShadowDebugRender (NvFlowVolumeShadow *volumeShadow, NvFlowContext *context, const NvFlowVolumeShadowDebugRenderParams *params)
NvFlowGridExport * NvFlowVolumeShadowGetGridExport (NvFlowVolumeShadow *volumeShadow, NvFlowContext *context)
void NvFlowVolumeShadowGetStats (NvFlowVolumeShadow *volumeShadow, NvFlowVolumeShadowStats *stats)
void NvFlowVolumeShadowUpdate (NvFlowVolumeShadow *volumeShadow, NvFlowContext *context, NvFlowGridExport *gridExport, const NvFlowVolumeShadowParams *params)

Function Documentation

NvFlowVolumeShadow* NvFlowCreateVolumeShadow ( NvFlowContext *  context,
const NvFlowVolumeShadowDesc desc 
)

Creates a volume shadow object.

Parameters:
[in] context The context for GPU resource allocation.
[in] desc Description for memory allocation.
Returns:
The created volume shadow object.

void NvFlowReleaseVolumeShadow ( NvFlowVolumeShadow *  volumeShadow  ) 

Releases a volume shadow object.

Parameters:
[in] volumeShadow The volume shadow object to be released.

void NvFlowVolumeShadowDebugRender ( NvFlowVolumeShadow *  volumeShadow,
NvFlowContext *  context,
const NvFlowVolumeShadowDebugRenderParams params 
)

Draw debug visualization of sparse volume shadow structure.

Parameters:
[in] volumeShadow The volume shadow object.
[in] context The context that created the volume shadow object.
[in] params Parameters for debug visualization.

NvFlowGridExport* NvFlowVolumeShadowGetGridExport ( NvFlowVolumeShadow *  volumeShadow,
NvFlowContext *  context 
)

Get grid export with shadow results. Currently, shadow results are placed in z component (the burn component).

Parameters:
[in] volumeShadow The volume shadow object.
[in] context The context that created the volume shadow object.
Returns:
Returns grid export with shadow results.

void NvFlowVolumeShadowGetStats ( NvFlowVolumeShadow *  volumeShadow,
NvFlowVolumeShadowStats stats 
)

Get stats for latest shadow computation.

Parameters:
[in] volumeShadow The volume shadow object.
[out] stats Destination for shadow computation stats.

void NvFlowVolumeShadowUpdate ( NvFlowVolumeShadow *  volumeShadow,
NvFlowContext *  context,
NvFlowGridExport *  gridExport,
const NvFlowVolumeShadowParams params 
)

Generate shadows from provided grid export.

Parameters:
[in] volumeShadow The volume shadow object.
[in] context The context that created the volume shadow object.
[in] gridExport The grid export to use for generating shadows.
[in] params Parameters for shadow generation.