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. | |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
GeomMunger (const GeomMunger ©) | |
GeomMunger (GraphicsStateGuardianBase *gsg) | |
int | compare_to (const GeomMunger &other) const |
CPT (GeomVertexData) munge_data(const GeomVertexData *data) const | |
CPT (GeomVertexData) premunge_data(const GeomVertexData *data) const | |
CPT (GeomVertexFormat) munge_format(const GeomVertexFormat *format | |
CPT (GeomVertexFormat) premunge_format(const GeomVertexFormat *format) 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. | |
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. | |
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. | |
![]() | |
TypedReferenceCount (const TypedReferenceCount ©) | |
void | operator= (const TypedReferenceCount ©) |
![]() | |
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 |
![]() | |
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) |
![]() | |
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 TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
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. | |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
![]() | |
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 TypeHandle | get_class_type () |
static void | init_type () |
Additional Inherited Members | |
![]() | |
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 } |
![]() | |
const GeomVertexAnimationSpec &animation | const |
static Thread * | current_thread |
![]() | |
get_type | |
![]() | |
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().