Panda3D
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions
CullBinFixed Class Reference

A specific kind of CullBin that sorts geometry in the order specified by the user-specified draw_order parameter. More...

#include "cullBinFixed.h"

Inheritance diagram for CullBinFixed:
CullBin TypedReferenceCount CullBinEnums TypedObject ReferenceCount MemoryBase MemoryBase

List of all members.

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 CullBinmake_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.

Detailed Description

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.


Member Function Documentation

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.


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations