Skip to main content

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)
TypeNameDescription
uint32_tnum_framesNumber of frames.
RenderFrameframesRender frames (each frame must have a valid NodeCamera).
RenderSpatial::FrameCallbackfuncFrame 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)
TypeNameDescription
uint32_tnum_framesNumber of frames.
RenderFrameframesRender 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)
TypeNameDescription
uint32_tnum_framesNumber of frames.
RenderFrameframesRender 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)
TypeNameDescription
uint32_tnum_framesNumber of frames.
RenderFrameframesRender frames.

Types

using FrameCallback = Function<bool(Compute compute, uint32_t index)>

Enums

Flags

Spatial flags.

NameValueDescription
FlagNone0
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.
DefaultFlagsFlagNone
NumFlags7

QueryType

Query types.

NameValueDescription
QueryRenderFrame0Render frame time.
QueryNodeLight1Node light time.
QueryNodeObject2Node object time.
QueryNodeInstance3Node instance time.
QueryLightTree4Light spatial tree time.
QueryLightGrid5Light spatial grid time.
QueryShadowMap6Light shadow map time.
QueryTransparent7Transparent clear time.
QueryObjectOrder8Object array order time.
QueryObjectGeometry9Object geometry time.
QueryObjectNodeGroup10Object node group time.
QueryObjectNodeArray11Object node array time.
QueryObjectGeometryGroup12Object geometry group time.
QueryObjectGeometryArray13Object geometry array time.
QueryObjectGraphArray14Object graph array time.
QueryObjectGeometryOrder15Object geometry order time.
QueryShadowMapNodeObject16Shadow map node object time.
QueryShadowMapNodeInstance17Shadow map node instance time.
QueryShadowMapObjectGeometry18Shadow map object geometry time.
QueryTracingNodeObject19Tracing node object time.
QueryTracingNodeInstance20Tracing node instance time.
QueryTracingObjectGeometry21Tracing object geometry time.
NumQueries22