RenderSpatial
The RenderSpatial class provides an interface for GPU-based Scene Graph traversal.
#include <render/TellusimRenderSpatial.h>
Constructors
RenderSpatial()
Methods
Spatial flags.
Flags getFlags() const
bool hasFlag(Flags flags) const
bool hasFlags(Flags flags) const
String getFlagsName() const
Spatial parameters.
uint32_t getMaxNodes() const
uint32_t getNumSteps() const
Spatial queries.
Query getQuery(QueryType type) const
static const char *getQueryName(QueryType type)
Dispatch frame intersections.
bool dispatchFrames(Compute &compute, RenderFrame *frames, uint32_t num_frames, Flags flags = FlagNone, const FrameCallback *func = nullptr)
bool dispatchFrame(Compute &compute, RenderFrame &frame, Flags flags = FlagNone, const FrameCallback *func = nullptr)
Type | Name | Description |
---|---|---|
uint32_t | num_frames | Number of frames. |
RenderFrame | frames | Render frames (each frame must have a valid NodeCamera). |
RenderSpatial::FrameCallback | func | Frame parameters callback for Fusion device. |
Dispatch objects intersections.
bool dispatchObjects(Compute &compute, RenderFrame *frames, uint32_t num_frames, Flags flags = FlagNone)
bool dispatchObjects(Compute &compute, RenderFrame &frame, Flags flags = FlagNone)
Type | Name | Description |
---|---|---|
uint32_t | num_frames | Number of frames. |
RenderFrame | frames | Render frames. |
Dispatch shadow map intersections.
bool dispatchShadowMap(Compute &compute, RenderFrame *frames, uint32_t num_frames, Flags flags = FlagNone)
bool dispatchShadowMap(Compute &compute, RenderFrame &frame, Flags flags = FlagNone)
Type | Name | Description |
---|---|---|
uint32_t | num_frames | Number of frames. |
RenderFrame | frames | Render frames. |
Dispatch tracing intersections.
bool dispatchTracing(Compute &compute, RenderFrame *frames, uint32_t num_frames, Flags flags = FlagNone)
bool dispatchTracing(Compute &compute, RenderFrame &frame, Flags flags = FlagNone)
Type | Name | Description |
---|---|---|
uint32_t | num_frames | Number of frames. |
RenderFrame | frames | Render frames. |
Types
using FrameCallback = Function<bool(Compute compute, uint32_t index)>
Enums
Flags
Spatial flags.
Name | Value | Description |
---|---|---|
FlagNone | 0 | |
FlagQuery | (1 << 0) | Time query profiler. |
FlagStatistics | (1 << 1) | Frame statistics. |
FlagTracing | (1 << 2) | Create tracing resources. |
FlagShadowMap | (1 << 3) | Create shadow map resources. |
FlagAntialiasing | (1 << 4) | Enable antialiasing. |
FlagMotionBuffer | (1 << 5) | Enable motion buffer. |
FlagRadixOrder | (1 << 6) | Radix geometry order. |
DefaultFlags | FlagNone | |
NumFlags | 7 |
QueryType
Query types.
Name | Value | Description |
---|---|---|
QueryRenderFrame | 0 | Render frame time. |
QueryNodeLight | 1 | Node light time. |
QueryNodeObject | 2 | Node object time. |
QueryNodeInstance | 3 | Node instance time. |
QueryLightTree | 4 | Light spatial tree time. |
QueryLightGrid | 5 | Light spatial grid time. |
QueryShadowMap | 6 | Light shadow map time. |
QueryTransparent | 7 | Transparent clear time. |
QueryObjectOrder | 8 | Object array order time. |
QueryObjectGeometry | 9 | Object geometry time. |
QueryObjectNodeGroup | 10 | Object node group time. |
QueryObjectNodeArray | 11 | Object node array time. |
QueryObjectGeometryGroup | 12 | Object geometry group time. |
QueryObjectGeometryArray | 13 | Object geometry array time. |
QueryObjectGraphArray | 14 | Object graph array time. |
QueryObjectGeometryOrder | 15 | Object geometry order time. |
QueryShadowMapNodeObject | 16 | Shadow map node object time. |
QueryShadowMapNodeInstance | 17 | Shadow map node instance time. |
QueryShadowMapObjectGeometry | 18 | Shadow map object geometry time. |
QueryTracingNodeObject | 19 | Tracing node object time. |
QueryTracingNodeInstance | 20 | Tracing node instance time. |
QueryTracingObjectGeometry | 21 | Tracing object geometry time. |
NumQueries | 22 |