XII Release 0.1.0
Loading...
Searching...
No Matches
xiiExtractedRenderData Class Reference

A thread-safe structure for components to push their extracted render data batches into. More...

#include <ExtractedRenderData.h>

Public Member Functions

XII_ALWAYS_INLINE xiiArrayPtr< xiiRenderData *const > GetAllRenderData () const
 Returns all extracted render data, sorted by sorting key.
XII_ALWAYS_INLINE xiiArrayPtr< xiiRenderData *const > GetStaticRenderData () const
 Returns extracted render data marked static during extraction, sorted by sorting key.
XII_ALWAYS_INLINE xiiArrayPtr< xiiRenderData *const > GetDynamicRenderData () const
 Returns extracted render data marked dynamic during extraction, sorted by sorting key.
XII_ALWAYS_INLINE const xiiDebugRendererContext & GetWorldDebugContext () const
 Returns a debug context that can be used for rendering debug visualization related to the world in which the data was extracted. The geometry rendered in this context is rendered in all views for that scene.
XII_ALWAYS_INLINE const xiiDebugRendererContext & GetViewDebugContext () const
 Returns a debug context that can be used for rendering debug visualization related to the view for which the data was extracted. The geometry rendered in this context is only rendered in this view.
 xiiExtractedRenderData ()
 Copyright (c) Theophilus Eriata. All Rights Reserved.
 xiiExtractedRenderData (const xiiWorld *pWorld)
 Initializes the extracted render data with a world debug context. The geometry rendered in this context is rendered in all views for that scene.
 xiiExtractedRenderData (const xiiView &view)
 Initializes the extracted render data with both a world and view debug context. The geometry rendered in the world context is rendered in all views for that scene, while the geometry rendered in the view context is only rendered in this view.
void AddRenderData (xiiRenderData *pRenderData, xiiRenderData::Caching::Enum caching=xiiRenderData::Caching::Never)
 Adds a single extracted render data item without assigning a category.
void AddRenderDataBatch (const xiiRenderDataBatch &batch, xiiRenderData::Caching::Enum caching=xiiRenderData::Caching::Never)
 Pushes a batch of extracted data safely to the internal list without assigning a category.
void Clear ()
 Clears the internal arrays entirely. Called at the start of extreme frame extraction.
void SortAndBatches ()
 Sorts the underlying render data by sorting key for cache-efficient render execution.

Friends

class xiiRenderWorldModule

Detailed Description

A thread-safe structure for components to push their extracted render data batches into.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Pipeline/ExtractedRenderData.h
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Pipeline/Implementation/ExtractedRenderData.cpp