|
Panda3D
|
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. | |
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). | |
| GraphicsStateGuardian * | get_gsg () const |
| Returns a pointer to the GSG that created this munger. | |
Public Member Functions inherited from StateMunger | |
| StateMunger (GraphicsStateGuardianBase *gsg) | |
| ConstPointerTo< RenderState > | munge_state (const RenderState *state) |
| Given an input state, returns the munged state. | |
| bool | should_munge_state () const |
| Returns true if this munger has something interesting to do to the state. | |
Public Member Functions inherited from GeomMunger | |
| GeomMunger (const GeomMunger ©) | |
| GeomMunger (GraphicsStateGuardianBase *gsg) | |
| int | compare_to (const GeomMunger &other) const |
| int | geom_compare_to (const GeomMunger &other) const |
| GraphicsStateGuardianBase * | get_gsg () const |
| Returns a pointer to the GSG that created this munger. | |
| bool | is_registered () const |
| Returns true if this munger has been registered, false if it has not. | |
| ConstPointerTo< GeomVertexData > | munge_data (const GeomVertexData *data) const |
| ConstPointerTo< GeomVertexFormat > | munge_format (const GeomVertexFormat *format, const GeomVertexAnimationSpec &animation) const |
| bool | munge_geom (ConstPointerTo< Geom > &geom, ConstPointerTo< 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. | |
| void | operator= (const GeomMunger ©) |
| ConstPointerTo< GeomVertexData > | premunge_data (const GeomVertexData *data) const |
| ConstPointerTo< GeomVertexFormat > | premunge_format (const GeomVertexFormat *format) const |
| void | premunge_geom (ConstPointerTo< Geom > &geom, ConstPointerTo< GeomVertexData > &data) const |
| void | remove_data (const GeomVertexData *data) |
| Removes a prepared GeomVertexData from the cache. | |
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. | |
| const TypedObject * | as_typed_object () const |
| Returns the object, upcast (if necessary) to a TypedObject pointer. | |
| 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. | |
| bool | is_exact_type (TypeHandle handle) const |
| Returns true if the current object is the indicated type exactly. | |
| bool | is_of_type (TypeHandle handle) const |
| Returns true if the current object is or derives from the indicated type. | |
| TypedObject & | operator= (const TypedObject ©)=default |
Public Member Functions inherited from MemoryBase | |
| void | operator delete (void *, void *) |
| void | operator delete (void *ptr) |
| void | operator delete[] (void *, void *) |
| void | operator delete[] (void *ptr) |
| void * | operator new (size_t size) |
| void * | operator new (size_t size, void *ptr) |
| void * | operator new[] (size_t size) |
| void * | operator new[] (size_t size, void *ptr) |
Public Member Functions inherited from ReferenceCount | |
| int | get_ref_count () const |
| WeakReferenceList * | get_weak_list () const |
| Returns the WeakReferenceList associated with this ReferenceCount object. | |
| bool | has_weak_list () const |
| Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. | |
| void | local_object () |
| This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. | |
| void | ref () const |
| Explicitly increments the reference count. | |
| bool | ref_if_nonzero () const |
| Atomically increases the reference count of this object if it is not zero. | |
| bool | test_ref_count_integrity () const |
| Does some easy checks to make sure that the reference count isn't completely bogus. | |
| bool | test_ref_count_nonzero () const |
| Does some easy checks to make sure that the reference count isn't zero, or completely bogus. | |
| virtual bool | unref () const |
| Explicitly decrements the reference count. | |
| bool | unref_if_one () const |
| Atomically decreases the reference count of this object if it is one. | |
| WeakReferenceList * | weak_ref () |
| Adds the indicated PointerToVoid as a weak reference to this object. | |
| void | weak_unref () |
| Removes the indicated PointerToVoid as a weak reference to this object. | |
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 PointerTo< GeomMunger > | register_munger (GeomMunger *munger, Thread *current_thread) |
| static void | unregister_mungers_for_gsg (GraphicsStateGuardianBase *gsg) |
| Removes all the mungers from the registry that are associated with the indicated GSG. | |
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. | |
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 TypedObject | |
| get_type | |
Public Attributes inherited from ReferenceCount | |
| get_ref_count | |
| Returns the current reference count. | |
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.
| DXGeomMunger9::DXGeomMunger9 | ( | GraphicsStateGuardian * | gsg, |
| const RenderState * | state ) |
Definition at line 25 of file dxGeomMunger9.cxx.
|
virtual |
Definition at line 85 of file dxGeomMunger9.cxx.
|
inlinevirtual |
Reimplemented from StandardMunger.
Definition at line 70 of file dxGeomMunger9.h.
|
inlinestatic |
Definition at line 59 of file dxGeomMunger9.h.
|
inlinevirtual |
Reimplemented from StandardMunger.
Definition at line 67 of file dxGeomMunger9.h.
|
inlinestatic |
Definition at line 62 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 101 of file dxGeomMunger9.cxx.
References unref_delete().