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

This specialization on GeomMunger finesses vertices for DirectX rendering. More...

#include "dxGeomMunger9.h"

Inheritance diagram for DXGeomMunger9:
StandardMunger WeakPointerCallback StateMunger GeomMunger TypedReferenceCount GeomEnums TypedObject ReferenceCount MemoryBase MemoryBase

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...
 
GraphicsStateGuardianget_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 &copy)
 
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
 
GraphicsStateGuardianBaseget_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 &copy)
 
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 &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 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 Threadcurrent_thread
 
- Public Attributes inherited from TypedObject
 get_type
 
- Public Attributes inherited from ReferenceCount
 get_ref_count
 Returns the current reference count. More...
 

Detailed Description

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.

Member Function Documentation

◆ wp_callback()

void DXGeomMunger9::wp_callback ( void *  )
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().


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