Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::RenderPassCuller Struct Reference

#include <RenderPassCuller.h>

Public Types

enum class  EntityFilter : U8 {
  PRIMITIVES = toBit( 0 ) , MESHES = toBit( 1 ) , TERRAIN = toBit( 2 ) , VEGETATION = toBit( 3 ) ,
  WATER = toBit( 4 ) , SKY = toBit( 5 ) , PARTICLES = toBit( 6 ) , COUNT = 7
}
 

Static Public Member Functions

static void FrustumCull (const NodeCullParams &params, U16 cullFlags, const SceneGraph &sceneGraph, const SceneState &sceneState, PlatformContext &context, VisibleNodeList<> &nodesOut)
 
static void FrustumCull (const PlatformContext &context, const NodeCullParams &params, const U16 cullFlags, const vector< SceneGraphNode * > &nodes, VisibleNodeList<> &nodesOut)
 
static void ToVisibleNodes (const Camera *camera, const vector< SceneGraphNode * > &nodes, VisibleNodeList<> &nodesOut)
 

Static Private Member Functions

static U32 FilterMask (const PlatformContext &context) noexcept
 
static void PostCullNodes (const NodeCullParams &params, U16 cullFlags, U32 filterMask, VisibleNodeList<> &nodesInOut)
 
static void FrustumCullNode (SceneGraphNode *currentNode, const NodeCullParams &params, U16 cullFlags, U8 recursionLevel, VisibleNodeList<> &nodes)
 This method performs the visibility check on the given node and all of its children and adds them to the RenderQueue.
 

Detailed Description

Definition at line 143 of file RenderPassCuller.h.

Member Enumeration Documentation

◆ EntityFilter

Enumerator
PRIMITIVES 
MESHES 
TERRAIN 
VEGETATION 
WATER 
SKY 
PARTICLES 
COUNT 

Definition at line 144 of file RenderPassCuller.h.

Member Function Documentation

◆ FilterMask()

U32 Divide::RenderPassCuller::FilterMask ( const PlatformContext context)
inlinestaticprivatenoexcept

Definition at line 23 of file RenderPassCuller.cpp.

◆ FrustumCull() [1/2]

void Divide::RenderPassCuller::FrustumCull ( const NodeCullParams params,
U16  cullFlags,
const SceneGraph sceneGraph,
const SceneState sceneState,
PlatformContext context,
VisibleNodeList<> &  nodesOut 
)
static

Definition at line 68 of file RenderPassCuller.cpp.

◆ FrustumCull() [2/2]

void Divide::RenderPassCuller::FrustumCull ( const PlatformContext context,
const NodeCullParams params,
const U16  cullFlags,
const vector< SceneGraphNode * > &  nodes,
VisibleNodeList<> &  nodesOut 
)
static

Definition at line 189 of file RenderPassCuller.cpp.

◆ FrustumCullNode()

void Divide::RenderPassCuller::FrustumCullNode ( SceneGraphNode currentNode,
const NodeCullParams params,
U16  cullFlags,
U8  recursionLevel,
VisibleNodeList<> &  nodes 
)
staticprivate

This method performs the visibility check on the given node and all of its children and adds them to the RenderQueue.

Definition at line 119 of file RenderPassCuller.cpp.

◆ PostCullNodes()

void Divide::RenderPassCuller::PostCullNodes ( const NodeCullParams params,
U16  cullFlags,
U32  filterMask,
VisibleNodeList<> &  nodesInOut 
)
staticprivate

Definition at line 35 of file RenderPassCuller.cpp.

◆ ToVisibleNodes()

void Divide::RenderPassCuller::ToVisibleNodes ( const Camera camera,
const vector< SceneGraphNode * > &  nodes,
VisibleNodeList<> &  nodesOut 
)
static

Definition at line 207 of file RenderPassCuller.cpp.


The documentation for this struct was generated from the following files: