Panda3D
|
A collection of Geoms and their associated state, for a particular scene. More...
#include "cullBin.h"
Classes | |
class | ResultGraphBuilder |
Public Member Functions | |
CullBin (const string &name, BinType bin_type, GraphicsStateGuardianBase *gsg, const PStatCollector &draw_region_pcollector) | |
virtual void | add_object (CullableObject *object, Thread *current_thread)=0 |
virtual void | draw (bool force, Thread *current_thread)=0 |
virtual void | finish_cull (SceneSetup *scene_setup, Thread *current_thread) |
Called after all the geoms have been added, this indicates that the cull process is finished for this frame and gives the bins a chance to do any post-processing (like sorting) before moving on to draw. | |
virtual TypeHandle | force_init_type () |
BinType | get_bin_type () const |
const LColor & | get_flash_color () const |
If has_flash_color returns true, this returns the color specified. | |
const string & | get_name () const |
virtual TypeHandle | get_type () const |
bool | has_flash_color () const |
Returns true if this bin has a flash color configured via the flash-bin-binname config directive, or false otherwise. | |
virtual | PT (CullBin) make_next() const |
PT (PandaNode) make_result_graph() | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
This function is declared non-inline to work around a compiler bug in g++ 2.96. | |
Protected Member Functions | |
CullBin (const CullBin ©) | |
virtual void | fill_result_graph (ResultGraphBuilder &builder)=0 |
Protected Attributes | |
BinType | _bin_type |
PStatCollector | _cull_this_pcollector |
PStatCollector | _draw_this_pcollector |
LColor | _flash_color |
GraphicsStateGuardianBase * | _gsg |
bool | _has_flash_color |
string | _name |
Static Protected Attributes | |
static PStatCollector | _cull_bin_pcollector |
A collection of Geoms and their associated state, for a particular scene.
The cull traversal (and the BinCullHandler) assigns Geoms to bins as it comes across them.
This is an abstract base class; derived classes like CullBinStateSorted and CullBinBackToFront provide the actual implementation.
void CullBin::finish_cull | ( | SceneSetup * | scene_setup, |
Thread * | current_thread | ||
) | [virtual] |
Called after all the geoms have been added, this indicates that the cull process is finished for this frame and gives the bins a chance to do any post-processing (like sorting) before moving on to draw.
Reimplemented in CullBinBackToFront, CullBinFixed, CullBinFrontToBack, and CullBinStateSorted.
Definition at line 64 of file cullBin.cxx.
Referenced by CullResult::finish_cull().
const LColor & CullBin::get_flash_color | ( | ) | const [inline] |
bool CullBin::has_flash_color | ( | ) | const [inline] |
static void CullBin::init_type | ( | ) | [inline, static] |
This function is declared non-inline to work around a compiler bug in g++ 2.96.
Making it inline seems to cause problems in the optimizer.
Reimplemented from TypedReferenceCount.
Reimplemented in CullBinBackToFront, CullBinFixed, CullBinFrontToBack, CullBinStateSorted, and CullBinUnsorted.
Definition at line 108 of file cullBin.h.
References TypedReferenceCount::init_type().
Referenced by CullBinUnsorted::init_type(), CullBinStateSorted::init_type(), CullBinFrontToBack::init_type(), CullBinFixed::init_type(), and CullBinBackToFront::init_type().