Panda3D
|
A specific kind of CullBin that sorts geometry in order from nearest to furthest based on the center of its bounding volume. More...
#include "cullBinFrontToBack.h"
Public Member Functions | |
CullBinFrontToBack (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. More... | |
virtual void | draw (bool force, Thread *current_thread) |
Draws all the geoms in the bin, in the appropriate order. More... | |
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. More... | |
virtual TypeHandle | force_init_type () |
virtual TypeHandle | get_type () const |
![]() | |
CullBin (const string &name, BinType bin_type, GraphicsStateGuardianBase *gsg, const PStatCollector &draw_region_pcollector) | |
BinType | get_bin_type () const |
const LColor & | get_flash_color () const |
const string & | get_name () const |
bool | has_flash_color () const |
virtual | PT (CullBin) make_next() const |
PT (PandaNode) make_result_graph() | |
![]() | |
TypedReferenceCount (const TypedReferenceCount ©) | |
void | operator= (const TypedReferenceCount ©) |
![]() | |
TypedObject (const TypedObject ©) | |
TypedObject * | as_typed_object () |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
const TypedObject * | as_typed_object () const |
Returns the object, upcast (if necessary) to a TypedObject pointer. More... | |
int | get_best_parent_from_Set (const std::set< int > &) const |
int | get_type_index () const |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
bool | is_exact_type (TypeHandle handle) const |
Returns true if the current object is the indicated type exactly. More... | |
bool | is_of_type (TypeHandle handle) const |
Returns true if the current object is or derives from the indicated type. More... | |
void | operator= (const TypedObject ©) |
![]() | |
int | get_ref_count () const |
Returns the current reference count. More... | |
WeakReferenceList * | get_weak_list () const |
Returns the WeakReferenceList associated with this ReferenceCount object. More... | |
bool | has_weak_list () const |
Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More... | |
void | local_object () |
This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More... | |
void | ref () const |
Explicitly increments the reference count. More... | |
bool | test_ref_count_integrity () const |
Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
bool | test_ref_count_nonzero () const |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
virtual bool | unref () const |
Explicitly decrements the reference count. More... | |
void | weak_ref (WeakPointerToVoid *ptv) |
Adds the indicated PointerToVoid as a weak reference to this object. More... | |
void | weak_unref (WeakPointerToVoid *ptv) |
Removes the indicated PointerToVoid as a weak reference to this object. More... | |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
static CullBin * | make_bin (const string &name, GraphicsStateGuardianBase *gsg, const PStatCollector &draw_region_pcollector) |
Factory constructor for passing to the CullBinManager. More... | |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
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. More... | |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
Additional Inherited Members | |
![]() | |
enum | BinType { BT_invalid, BT_unsorted, BT_state_sorted, BT_back_to_front, BT_front_to_back, BT_fixed } |
A specific kind of CullBin that sorts geometry in order from nearest to furthest based on the center of its bounding volume.
This is useful for rendering opaque geometry, taking optimal advantage of a hierarchical Z-buffer.
Definition at line 35 of file cullBinFrontToBack.h.
|
virtual |
Adds a geom, along with its associated state, to the bin for rendering.
Implements CullBin.
Definition at line 59 of file cullBinFrontToBack.cxx.
References finish_cull().
Referenced by make_bin().
|
virtual |
Draws all the geoms in the bin, in the appropriate order.
Implements CullBin.
Definition at line 100 of file cullBinFrontToBack.cxx.
References CullHandler::draw().
Referenced by finish_cull().
|
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 88 of file cullBinFrontToBack.cxx.
References draw().
Referenced by add_object().
|
static |
Factory constructor for passing to the CullBinManager.
Definition at line 47 of file cullBinFrontToBack.cxx.
References add_object().