44class EXPCL_PANDA_PGRAPH CullResult :
public ReferenceCount {
65 CullBin *make_new_bin(
int bin_index);
68 INLINE
void check_flash_transparency(CPT(
RenderState) &state,
const LColor &color);
71 void apply_flash_color(CPT(
RenderState) &state,
const LColor &flash_color);
74 static const RenderState *get_rescale_normal_state(RescaleNormalAttrib::Mode mode);
77 static const RenderState *get_dual_transparent_state();
79 static const RenderState *get_wireframe_filled_state();
86 typedef pvector< PT(
CullBin) > Bins;
89 bool _show_transparency =
false;
95 static void init_type() {
96 ReferenceCount::init_type();
98 ReferenceCount::get_class_type());
This is a global object that maintains the collection of named CullBins in the world.
A collection of Geoms and their associated state, for a particular scene.
void add_object(CullableObject *object, const CullTraverser *traverser)
Adds the indicated CullableObject to the appropriate bin.
PointerTo< PandaNode > make_result_graph()
Returns a special scene graph constructed to represent the results of the cull.
PointerTo< CullResult > make_next() const
Returns a newly-allocated CullResult object that contains a copy of just the subset of the data from ...
void draw(Thread *current_thread)
Asks all the bins to draw themselves in the correct order.
static void bin_removed(int bin_index)
Intended to be called by CullBinManager::remove_bin(), this informs all the CullResults in the world ...
CullBin * get_bin(int bin_index)
Returns the CullBin associated with the indicated bin_index, or NULL if the bin_index is invalid.
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...
This object performs a depth-first traversal of the scene graph, with optional view-frustum culling,...
The smallest atom of cull.
This is a base class for the GraphicsStateGuardian class, which is itself a base class for the variou...
A lightweight class that represents a single element that may be timed and/or counted via stats.
A basic node of the scene graph or data graph.
Specifies how polygons are to be drawn.
This represents a unique collection of RenderAttrib objects that correspond to a particular renderabl...
This object holds the camera position, etc., and other general setup information for rendering a part...
A thread; that is, a lightweight process.
TypeHandle is the identifier used to differentiate C++ class types.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.