This specialization on GeomMunger finesses vertices for DirectX rendering. More...
#include "dxGeomMunger9.h"
Public Member Functions | |
DXGeomMunger9 (GraphicsStateGuardian *gsg, const RenderState *state) | |
virtual TypeHandle | force_init_type () |
virtual TypeHandle | get_type () const |
virtual void | wp_callback (void *) |
This callback is set to be made whenever the associated _texture or _tex_gen attributes are destructed, in which case the GeomMunger is invalid and should no longer be used. More... | |
Public Member Functions inherited from StandardMunger | |
StandardMunger (GraphicsStateGuardianBase *gsg, const RenderState *state, int num_components, NumericType numeric_type, Contents contents) | |
The StandardMunger constructor accepts additional parameters that specify the GSG's preferred color format (since we might be munging the color anyway, we might as well convert it as we munge). More... | |
GraphicsStateGuardian * | get_gsg () const |
Returns a pointer to the GSG that created this munger. More... | |
Public Member Functions inherited from StateMunger | |
StateMunger (GraphicsStateGuardianBase *gsg) | |
CPT (RenderState) munge_state(const RenderState *state) | |
bool | should_munge_state () const |
Returns true if this munger has something interesting to do to the state. More... | |
Public Member Functions inherited from GeomMunger | |
GeomMunger (GraphicsStateGuardianBase *gsg) | |
GeomMunger (const GeomMunger ©) | |
int | compare_to (const GeomMunger &other) const |
CPT (GeomVertexFormat) munge_format(const GeomVertexFormat *format | |
CPT (GeomVertexData) munge_data(const GeomVertexData *data) const | |
CPT (GeomVertexFormat) premunge_format(const GeomVertexFormat *format) const | |
CPT (GeomVertexData) premunge_data(const GeomVertexData *data) const | |
int | geom_compare_to (const GeomMunger &other) const |
GraphicsStateGuardianBase * | get_gsg () const |
Returns a pointer to the GSG that created this munger. More... | |
bool | is_registered () const |
Returns true if this munger has been registered, false if it has not. More... | |
bool | munge_geom (CPT(Geom) &geom, CPT(GeomVertexData) &data, bool force, Thread *current_thread) |
Applies the indicated munger to the geom and its data, and returns a (possibly different) geom and data, according to the munger's whim. More... | |
void | operator= (const GeomMunger ©) |
void | premunge_geom (CPT(Geom) &geom, CPT(GeomVertexData) &data) const |
void | remove_data (const GeomVertexData *data) |
Removes a prepared GeomVertexData from the cache. More... | |
Public Member Functions inherited from TypedReferenceCount | |
TypedReferenceCount (const TypedReferenceCount ©) | |
void | operator= (const TypedReferenceCount ©) |
Public Member Functions inherited from TypedObject | |
TypedObject (const TypedObject ©)=default | |
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... | |
TypedObject & | operator= (const TypedObject ©)=default |
Public Member Functions inherited from ReferenceCount | |
int | get_ref_count () const |
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 | 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... | |
WeakReferenceList * | weak_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 Public Member Functions inherited from StandardMunger | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from StateMunger | |
static TypeHandle | get_class_type () |
static void | init_type () |
Static Public Member Functions inherited from GeomMunger | |
static TypeHandle | get_class_type () |
static void | init_type () |
static | PT (GeomMunger) register_munger(GeomMunger *munger |
static void | unregister_mungers_for_gsg (GraphicsStateGuardianBase *gsg) |
Removes all the mungers from the registry that are associated with the indicated GSG. More... | |
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 GeomEnums | |
enum | AnimationType { AT_none, AT_panda, AT_hardware } |
enum | Contents { C_other, C_point, C_clip_point, C_vector, C_texcoord, C_color, C_index, C_morph_delta, C_matrix, C_normal } |
enum | GeomRendering { GR_indexed_point = 0x00001, GR_indexed_other = 0x10000, GR_indexed_bits = 0x10001, GR_point = 0x00002, GR_point_uniform_size = 0x00004, GR_per_point_size = 0x00008, GR_point_perspective = 0x00010, GR_point_aspect_ratio = 0x00020, GR_point_scale = 0x00040, GR_point_rotate = 0x00080, GR_point_sprite = 0x00100, GR_point_sprite_tex_matrix = 0x00200, GR_point_bits = 0x003fe, GR_triangle_strip = 0x00400, GR_triangle_fan = 0x00800, GR_line_strip = 0x01000, GR_composite_bits = 0x01c00, GR_strip_cut_index = 0x20000, GR_flat_first_vertex = 0x02000, GR_flat_last_vertex = 0x04000, GR_shade_model_bits = 0x06000, GR_render_mode_wireframe = 0x40000, GR_render_mode_point = 0x80000, GR_adjacency = 0x100000 } |
enum | NumericType { NT_uint8, NT_uint16, NT_uint32, NT_packed_dcba, NT_packed_dabc, NT_float32, NT_float64, NT_stdfloat, NT_int8, NT_int16, NT_int32, NT_packed_ufloat } |
enum | PrimitiveType { PT_none, PT_polygons, PT_lines, PT_points, PT_patches } |
enum | ShadeModel { SM_uniform, SM_smooth, SM_flat_first_vertex, SM_flat_last_vertex } |
enum | UsageHint { UH_client, UH_stream, UH_dynamic, UH_static, UH_unspecified } |
Public Attributes inherited from GeomMunger | |
const GeomVertexAnimationSpec &animation | const |
static Thread * | current_thread |
Public Attributes inherited from TypedObject | |
get_type | |
Public Attributes inherited from ReferenceCount | |
get_ref_count | |
Returns the current reference count. More... | |
This specialization on GeomMunger finesses vertices for DirectX rendering.
In particular, it makes sure colors are stored in DirectX's packed_argb format, and that all relevant components are packed into a single array, in the correct order.
Definition at line 29 of file dxGeomMunger9.h.
|
virtual |
This callback is set to be made whenever the associated _texture or _tex_gen attributes are destructed, in which case the GeomMunger is invalid and should no longer be used.
Implements WeakPointerCallback.
Definition at line 102 of file dxGeomMunger9.cxx.
References unref_delete().