Panda3D
Classes | Public Member Functions | Static Public Member Functions | List of all members
CullBinBackToFront Class Reference

A specific kind of CullBin that sorts geometry in order from furthest to nearest based on the center of its bounding volume. More...

#include "cullBinBackToFront.h"

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

Public Member Functions

 CullBinBackToFront (const std::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
 
- Public Member Functions inherited from CullBin
 CullBin (const std::string &name, BinType bin_type, GraphicsStateGuardianBase *gsg, const PStatCollector &draw_region_pcollector)
 
BinType get_bin_type () const
 
const LColor & get_flash_color () const
 
const std::string & get_name () const
 
bool has_flash_color () const
 
virtual PT (CullBin) make_next() const
 
 PT (PandaNode) make_result_graph()
 
- Public Member Functions inherited from TypedReferenceCount
 TypedReferenceCount (const TypedReferenceCount &copy)
 
void operator= (const TypedReferenceCount &copy)
 
- Public Member Functions inherited from TypedObject
 TypedObject (const TypedObject &copy)=default
 
TypedObjectas_typed_object ()
 Returns the object, upcast (if necessary) to a TypedObject pointer. More...
 
const TypedObjectas_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...
 
TypedObjectoperator= (const TypedObject &copy)=default
 
- Public Member Functions inherited from ReferenceCount
int get_ref_count () const
 
WeakReferenceListget_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 ref_if_nonzero () const
 Atomically increases the reference count of this object if it is not zero. 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...
 
WeakReferenceListweak_ref ()
 Adds the indicated PointerToVoid as a weak reference to this object. More...
 
void weak_unref ()
 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 CullBinmake_bin (const std::string &name, GraphicsStateGuardianBase *gsg, const PStatCollector &draw_region_pcollector)
 Factory constructor for passing to the CullBinManager. More...
 
- Static Public Member Functions inherited from CullBin
static TypeHandle get_class_type ()
 
static void init_type ()
 
- Static Public Member Functions inherited from TypedReferenceCount
static TypeHandle get_class_type ()
 
static void init_type ()
 
- Static Public Member Functions inherited from TypedObject
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 Public Member Functions inherited from ReferenceCount
static TypeHandle get_class_type ()
 
static void init_type ()
 

Additional Inherited Members

- Public Types inherited from CullBinEnums
enum  BinType {
  BT_invalid, BT_unsorted, BT_state_sorted, BT_back_to_front,
  BT_front_to_back, BT_fixed
}
 
- Public Attributes inherited from TypedObject
 get_type
 
- Public Attributes inherited from ReferenceCount
 get_ref_count
 Returns the current reference count. More...
 

Detailed Description

A specific kind of CullBin that sorts geometry in order from furthest to nearest based on the center of its bounding volume.

This is primarily intended for rendering transparent and semi-transparent geometry that must be sorted from back to front.

Definition at line 31 of file cullBinBackToFront.h.

Member Function Documentation

◆ add_object()

void CullBinBackToFront::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 51 of file cullBinBackToFront.cxx.

◆ draw()

void CullBinBackToFront::draw ( bool  force,
Thread current_thread 
)
virtual

Draws all the geoms in the bin, in the appropriate order.

Implements CullBin.

Definition at line 85 of file cullBinBackToFront.cxx.

◆ finish_cull()

void CullBinBackToFront::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 76 of file cullBinBackToFront.cxx.

◆ make_bin()

CullBin * CullBinBackToFront::make_bin ( const std::string &  name,
GraphicsStateGuardianBase gsg,
const PStatCollector draw_region_pcollector 
)
static

Factory constructor for passing to the CullBinManager.

Definition at line 42 of file cullBinBackToFront.cxx.

Referenced by init_libcull().


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