Panda3D
|
A specific kind of CullBin that sorts geometry in the order specified by the user-specified draw_order parameter. More...
#include "cullBinFixed.h"
Classes | |
class | ObjectData |
Public Member Functions | |
CullBinFixed (const string &name, GraphicsStateGuardianBase *gsg, const PStatCollector &draw_region_pcollector) | |
virtual void | add_object (CullableObject *object, Thread *current_thread) |
Adds a geom, along with its associated state, to the bin for rendering. | |
virtual void | draw (bool force, Thread *current_thread) |
Draws all the geoms in the bin, in the appropriate order. | |
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 () |
virtual TypeHandle | get_type () const |
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. | |
static CullBin * | make_bin (const string &name, GraphicsStateGuardianBase *gsg, const PStatCollector &draw_region_pcollector) |
Factory constructor for passing to the CullBinManager. | |
Protected Member Functions | |
virtual void | fill_result_graph (ResultGraphBuilder &builder) |
Called by CullBin::make_result_graph() to add all the geoms to the special cull result scene graph. |
A specific kind of CullBin that sorts geometry in the order specified by the user-specified draw_order parameter.
This allows precise relative ordering of two objects.
When two or more objects are assigned the same draw_order, they are drawn in scene-graph order (as with CullBinUnsorted).
Definition at line 37 of file cullBinFixed.h.
void CullBinFixed::add_object | ( | CullableObject * | object, |
Thread * | current_thread | ||
) | [virtual] |
Adds a geom, along with its associated state, to the bin for rendering.
Implements CullBin.
Definition at line 59 of file cullBinFixed.cxx.
void CullBinFixed::draw | ( | bool | force, |
Thread * | current_thread | ||
) | [virtual] |
Draws all the geoms in the bin, in the appropriate order.
Implements CullBin.
Definition at line 86 of file cullBinFixed.cxx.
void CullBinFixed::fill_result_graph | ( | CullBin::ResultGraphBuilder & | builder | ) | [protected, virtual] |
Called by CullBin::make_result_graph() to add all the geoms to the special cull result scene graph.
Implements CullBin.
Definition at line 102 of file cullBinFixed.cxx.
References CullBin::ResultGraphBuilder::add_object().
void CullBinFixed::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 from CullBin.
Definition at line 74 of file cullBinFixed.cxx.
static void CullBinFixed::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 CullBin.
Definition at line 72 of file cullBinFixed.h.
References CullBin::init_type().
CullBin * CullBinFixed::make_bin | ( | const string & | name, |
GraphicsStateGuardianBase * | gsg, | ||
const PStatCollector & | draw_region_pcollector | ||
) | [static] |
Factory constructor for passing to the CullBinManager.
Definition at line 47 of file cullBinFixed.cxx.