Skip to content

raisin::RayraiWindow::FoliageRenderDiagnostics ​

struct · #include <rayrai/RayraiWindow.hpp>

Diagnostics: foliage and instanced-draw counters (see foliageRenderDiagnostics()).

Reset at the start of every update() / renderWithExternalCamera() frame and accumulated while that frame renders. Counters prefixed scene belong to the color pass and shadow to shadow passes. GPU times are filled only by captureRenderPassTimings() / captureViewerPassTimings().

Public attributes ​

available ​

cpp
bool available

True when the frame drew at least one foliage visual.

timingCaptureAvailable ​

cpp
bool timingCaptureAvailable

True when foliage GPU timings were captured.

sceneFoliageDrawCalls ​

cpp
size_t sceneFoliageDrawCalls

Foliage draws in the scene pass.

sceneFoliageOccludedDrawCalls ​

cpp
size_t sceneFoliageOccludedDrawCalls

Scene foliage draws skipped by occlusion culling.

sceneFoliageAuthoredInstanceVisits ​

cpp
size_t sceneFoliageAuthoredInstanceVisits

Authored instances of drawn scene foliage visuals.

sceneFoliageCandidateInstanceVisits ​

cpp
size_t sceneFoliageCandidateInstanceVisits

Scene foliage instances left after culling stages that report candidates.

sceneFoliageRenderedInstanceVisits ​

cpp
size_t sceneFoliageRenderedInstanceVisits

Scene foliage instances actually rendered. Instances whose occlusion is tested on the GPU count before that test.

shadowFoliageDrawCalls ​

cpp
size_t shadowFoliageDrawCalls

Foliage draws in shadow passes.

shadowFoliageAuthoredInstanceVisits ​

cpp
size_t shadowFoliageAuthoredInstanceVisits

Authored instances of shadow foliage draws.

shadowFoliageCandidateInstanceVisits ​

cpp
size_t shadowFoliageCandidateInstanceVisits

Shadow foliage candidate instances.

shadowFoliageRenderedInstanceVisits ​

cpp
size_t shadowFoliageRenderedInstanceVisits

Shadow foliage instances actually rendered.

sceneGpuCulledDrawCalls ​

cpp
size_t sceneGpuCulledDrawCalls

Scene draws that used GPU instance culling.

shadowGpuCulledDrawCalls ​

cpp
size_t shadowGpuCulledDrawCalls

Shadow draws that used GPU instance culling.

sceneGpuCullSkippedDrawCalls ​

cpp
size_t sceneGpuCullSkippedDrawCalls

Scene draws that skipped GPU instance culling.

shadowGpuCullSkippedDrawCalls ​

cpp
size_t shadowGpuCullSkippedDrawCalls

Shadow draws that skipped GPU instance culling.

sceneVisibleInstanceFrameCacheHits ​

cpp
size_t sceneVisibleInstanceFrameCacheHits

GPU-culled scene draws that reused this frame's visible-instance list.

sceneVisibleInstanceFrameCacheDispatches ​

cpp
size_t sceneVisibleInstanceFrameCacheDispatches

GPU-culled scene draws that dispatched culling.

sceneVisibleInstanceFrameCacheFallbackDrawCalls ​

cpp
size_t sceneVisibleInstanceFrameCacheFallbackDrawCalls

Scene draws that could not use the visible-instance frame cache.

sceneClusteredDrawCalls ​

cpp
size_t sceneClusteredDrawCalls

Scene draws using hierarchical foliage clusters.

shadowClusteredDrawCalls ​

cpp
size_t shadowClusteredDrawCalls

Shadow draws using hierarchical foliage clusters.

impostorDrawCalls ​

cpp
size_t impostorDrawCalls

Impostor (billboard LOD) draws.

shadowLodDrawCalls ​

cpp
size_t shadowLodDrawCalls

Shadow draws using a shadow LOD.

persistentSourceBufferDrawCalls ​

cpp
size_t persistentSourceBufferDrawCalls

Draws served from persistent source instance buffers.

sceneMultiDrawIndirectDrawCalls ​

cpp
size_t sceneMultiDrawIndirectDrawCalls

Scene multi-draw-indirect submissions.

shadowMultiDrawIndirectDrawCalls ​

cpp
size_t shadowMultiDrawIndirectDrawCalls

Shadow multi-draw-indirect submissions.

multiDrawIndirectCommandCount ​

cpp
size_t multiDrawIndirectCommandCount

Indirect commands issued.

multiDrawIndirectFallbackDrawCalls ​

cpp
size_t multiDrawIndirectFallbackDrawCalls

Draws that fell back from multi-draw-indirect.

sceneAlphaDepthPrepassDrawCalls ​

cpp
size_t sceneAlphaDepthPrepassDrawCalls

Alpha-tested depth-prepass draws.

sceneAlphaDepthPrepassInstanceVisits ​

cpp
size_t sceneAlphaDepthPrepassInstanceVisits

Instances drawn in the alpha depth prepass.

sceneAlphaDepthPrepassFallbackDrawCalls ​

cpp
size_t sceneAlphaDepthPrepassFallbackDrawCalls

Draws that could not use the alpha depth prepass.

sceneFrontToBackOrderedInstancedDrawCalls ​

cpp
size_t sceneFrontToBackOrderedInstancedDrawCalls

Instanced draws submitted front to back.

sceneFrontToBackOrderedFoliageDrawCalls ​

cpp
size_t sceneFrontToBackOrderedFoliageDrawCalls

Foliage draws submitted front to back.

sceneFrontToBackOrderingFallbackDrawCalls ​

cpp
size_t sceneFrontToBackOrderingFallbackDrawCalls

Draws that could not be front-to-back ordered.

maxSourceTrianglesPerInstance ​

cpp
size_t maxSourceTrianglesPerInstance

Largest source-mesh triangle count per instance.

maxImpostorTrianglesPerInstance ​

cpp
size_t maxImpostorTrianglesPerInstance

Largest impostor triangle count per instance.

conservativeOcclusionCandidates ​

cpp
size_t conservativeOcclusionCandidates

Copy of ConservativeOcclusionCullingDiagnostics::candidates.

conservativeOcclusionQueries ​

cpp
size_t conservativeOcclusionQueries

Copy of ConservativeOcclusionCullingDiagnostics::queries.

conservativeOcclusionOccluded ​

cpp
size_t conservativeOcclusionOccluded

Copy of ConservativeOcclusionCullingDiagnostics::occluded.

conservativeOcclusionDrawn ​

cpp
size_t conservativeOcclusionDrawn

Copy of ConservativeOcclusionCullingDiagnostics::drawn.

hizOcclusionTests ​

cpp
size_t hizOcclusionTests

Copy of ConservativeOcclusionCullingDiagnostics::hizTests.

hizOcclusionOccluded ​

cpp
size_t hizOcclusionOccluded

Copy of ConservativeOcclusionCullingDiagnostics::hizOccluded.

hizOcclusionDepthReadbacks ​

cpp
size_t hizOcclusionDepthReadbacks

Copy of ConservativeOcclusionCullingDiagnostics::hizDepthReadbacks.

gpuHizOcclusionDrawCalls ​

cpp
size_t gpuHizOcclusionDrawCalls

Copy of ConservativeOcclusionCullingDiagnostics::gpuHizDrawCalls.

gpuHizOcclusionDepthBuilds ​

cpp
size_t gpuHizOcclusionDepthBuilds

Copy of ConservativeOcclusionCullingDiagnostics::gpuHizDepthBuilds.

gpuHizOcclusionComputeDepthBuilds ​

cpp
size_t gpuHizOcclusionComputeDepthBuilds

Copy of ConservativeOcclusionCullingDiagnostics::gpuHizComputeDepthBuilds.

gpuHizOcclusionRasterDepthBuilds ​

cpp
size_t gpuHizOcclusionRasterDepthBuilds

Copy of ConservativeOcclusionCullingDiagnostics::gpuHizRasterDepthBuilds.

sceneGpuOcclusionFilteredDrawCalls ​

cpp
size_t sceneGpuOcclusionFilteredDrawCalls

Collected scene foliage draws whose instances were occlusion-tested on the GPU.

sceneFoliageGpuMs ​

cpp
double sceneFoliageGpuMs

Scene foliage GPU time in ms (timing captures only).

shadowFoliageGpuMs ​

cpp
double shadowFoliageGpuMs

Shadow foliage GPU time in ms (timing captures only).

RaiSim — physics for robotics and AI.