14#ifndef CULLABLEOBJECT_H
15#define CULLABLEOBJECT_H
53 bool force,
Thread *current_thread);
61 bool force,
Thread *current_thread);
63 bool force,
Thread *current_thread);
68 void output(std::ostream &out)
const;
78 bool munge_points_to_quads(
const CullTraverser *traverser,
bool force);
91 INLINE SortPoints(
const PointData *
array);
92 INLINE
bool operator ()(
unsigned short a,
unsigned short b)
const;
94 const PointData *_array;
101 INLINE
bool operator < (
const SourceFormat &other)
const;
104 bool _sprite_texcoord;
105 bool _retransform_sprites;
108 static FormatMap _format_map;
122 static void init_type() {
130INLINE std::ostream &operator << (std::ostream &out,
const CullableObject &
object) {
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is a generic object that can be assigned to a callback at various points in the rendering proces...
This object performs a depth-first traversal of the scene graph, with optional view-frustum culling,...
The smallest atom of cull.
static void flush_level()
Flushes the PStatCollectors used during traversal.
void draw_callback(GraphicsStateGuardianBase *gsg, bool force, Thread *current_thread)
Invokes the draw callback, assuming one is set.
bool munge_geom(GraphicsStateGuardianBase *gsg, GeomMunger *munger, const CullTraverser *traverser, bool force)
Uses the indicated GeomMunger to transform the geom and/or its vertices.
CullableObject()
Creates an empty CullableObject whose pointers can be filled in later.
void set_draw_callback(CallbackObject *draw_callback)
Specifies a CallbackObject that will be responsible for drawing this object.
bool request_resident() const
Returns true if all the data necessary to render this object is currently resident in memory.
void draw_inline(GraphicsStateGuardianBase *gsg, bool force, Thread *current_thread)
Draws the cullable object on the GSG immediately, in the GSG's current state.
void draw(GraphicsStateGuardianBase *gsg, bool force, Thread *current_thread)
Draws the cullable object on the GSG immediately, in the GSG's current state.
Objects of this class are used to convert vertex data from a Geom into a format suitable for passing ...
This defines the actual numeric vertex data stored in a Geom, in the structure defined by a particula...
A container for geometry primitives.
This is a base class for the GraphicsStateGuardian class, which is itself a base class for the variou...
This is a standard, non-reentrant mutex, similar to the Mutex class.
A lightweight class that represents a single element that may be timed and/or counted via stats.
This represents a unique collection of RenderAttrib objects that correspond to a particular renderabl...
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.
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.