Panda3D
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
TexGenAttrib Class Reference

Computes texture coordinates for geometry automatically based on vertex position and/or normal. More...

#include "texGenAttrib.h"

Inheritance diagram for TexGenAttrib:
RenderAttrib TypedWritableReferenceCount TypedWritable ReferenceCount TypedObject MemoryBase MemoryBase

Public Types

typedef RenderAttrib::TexGenMode Mode
 
- Public Types inherited from RenderAttrib
enum  PandaCompareFunc {
  M_none =0, M_never, M_less, M_equal,
  M_less_equal, M_greater, M_not_equal, M_greater_equal,
  M_always
}
 
enum  TexGenMode {
  M_off, M_eye_sphere_map, M_world_cube_map, M_eye_cube_map,
  M_world_normal, M_eye_normal, M_world_position, M_unused,
  M_eye_position, M_point_sprite, M_unused2, M_constant
}
 

Public Member Functions

virtual int complete_pointers (TypedWritable **plist, BamReader *manager)
 Receives an array of pointers, one for each time manager->read_pointer() was called in fillin(). More...
 
 CPT (RenderAttrib) add_stage(TextureStage *stage
 
 CPT (RenderAttrib) add_stage(TextureStage *stage
 
 CPT (RenderAttrib) remove_stage(TextureStage *stage) const
 
virtual TypeHandle force_init_type ()
 
const LTexCoord3 & get_constant_value (TextureStage *stage) const
 
int get_geom_rendering (int geom_rendering) const
 Returns the union of the Geom::GeomRendering bits that will be required once this TexGenAttrib is applied to a geom which includes the indicated geom_rendering bits. More...
 
Mode get_mode (TextureStage *stage) const
 
virtual int get_slot () const
 
virtual TypeHandle get_type () const
 
bool has_gen_texcoord_stage (TextureStage *stage) const
 
bool has_stage (TextureStage *stage) const
 
bool is_empty () const
 
virtual void output (std::ostream &out) const
 
virtual void write_datagram (BamWriter *manager, Datagram &dg)
 Writes the contents of this object to the datagram for shipping out to a Bam file. More...
 
- Public Member Functions inherited from RenderAttrib
 RenderAttrib (const RenderAttrib &copy)=delete
 
virtual ~RenderAttrib ()
 The destructor is responsible for removing the RenderAttrib from the global set if it is there. More...
 
int compare_to (const RenderAttrib &other) const
 
 CPT (RenderAttrib) compose(const RenderAttrib *other) const
 
 CPT (RenderAttrib) invert_compose(const RenderAttrib *other) const
 
 CPT (RenderAttrib) get_unique() const
 
virtual bool cull_callback (CullTraverser *trav, const CullTraverserData &data) const
 If has_cull_callback() returns true, this function will be called during the cull traversal to perform any additional operations that should be performed at cull time. More...
 
virtual void finalize (BamReader *manager)
 Called by the BamReader to perform any final actions needed for setting up the object after all objects have been read and all pointers have been completed. More...
 
size_t get_hash () const
 
virtual bool has_cull_callback () const
 Should be overridden by derived classes to return true if cull_callback() has been defined. More...
 
virtual bool lower_attrib_can_override () const
 Intended to be overridden by derived RenderAttrib types to specify how two consecutive RenderAttrib objects of the same type interact. More...
 
RenderAttriboperator= (const RenderAttrib &copy)=delete
 
virtual bool unref () const final
 This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero. More...
 
virtual void write (std::ostream &out, int indent_level) const
 
- Public Member Functions inherited from TypedWritableReferenceCount
 TypedWritableReferenceCount (const TypedWritableReferenceCount &copy)
 
virtual ReferenceCountas_reference_count ()
 Returns the pointer cast to a ReferenceCount pointer, if it is in fact of that type. More...
 
void operator= (const TypedWritableReferenceCount &copy)
 
- Public Member Functions inherited from TypedWritable
 TypedWritable (const TypedWritable &copy)
 
vector_uchar encode_to_bam_stream () const
 Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a bytes object. More...
 
bool encode_to_bam_stream (vector_uchar &data, BamWriter *writer=nullptr) const
 Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string. More...
 
UpdateSeq get_bam_modified () const
 Returns the current bam_modified counter. More...
 
void mark_bam_modified ()
 Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams. More...
 
void operator= (const TypedWritable &copy)
 
virtual bool require_fully_complete () const
 Some objects require all of their nested pointers to have been completed before the objects themselves can be completed. More...
 
virtual void update_bam_nested (BamWriter *manager)
 Called by the BamWriter when this object has not itself been modified recently, but it should check its nested objects for updates. More...
 
- 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...
 
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 CPT (RenderAttrib) make()
 
static CPT (RenderAttrib) make(TextureStage *stage
 
static CPT (RenderAttrib) make_default()
 
static int get_class_slot ()
 
static TypeHandle get_class_type ()
 
static void init_type ()
 
static void register_with_read_factory ()
 Tells the BamReader how to create objects of type TexGenAttrib. More...
 
- Static Public Member Functions inherited from RenderAttrib
static TypedWritablechange_this (TypedWritable *old_ptr, BamReader *manager)
 Called immediately after complete_pointers(), this gives the object a chance to adjust its own pointer if desired. More...
 
static int garbage_collect ()
 Performs a garbage-collection cycle. More...
 
static TypeHandle get_class_type ()
 
static int get_num_attribs ()
 Returns the total number of unique RenderAttrib objects allocated in the world. More...
 
static void init_attribs ()
 Make sure the global _attribs map is allocated. More...
 
static void init_type ()
 
static void list_attribs (std::ostream &out)
 Lists all of the RenderAttribs in the cache to the output stream, one per line. More...
 
static int register_slot (TypeHandle type_handle, int sort, RenderAttrib *default_attrib)
 Adds the indicated TypeHandle to the registry, if it is not there already, and returns a unique slot number. More...
 
static bool validate_attribs ()
 Ensures that the cache is still stored in sorted order. More...
 
- Static Public Member Functions inherited from TypedWritableReferenceCount
static TypeHandle get_class_type ()
 
static void init_type ()
 
static PT (TypedWritableReferenceCount) decode_from_bam_stream(vector_uchar data
 
- Static Public Member Functions inherited from TypedWritable
static bool decode_raw_from_bam_stream (TypedWritable *&ptr, ReferenceCount *&ref_ptr, vector_uchar data, BamReader *reader=nullptr)
 Reads the bytes created by a previous call to encode_to_bam_stream(), and extracts the single object on those bytes. More...
 
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 ()
 

Public Attributes

Mode mode const
 
Mode const LTexCoord3 &constant_value const
 
 get_class_slot
 
static Mode mode
 
Mode mode
 
- Public Attributes inherited from RenderAttrib
 get_slot
 
- Public Attributes inherited from TypedWritableReferenceCount
static BamReaderreader = nullptr)
 
- Public Attributes inherited from TypedObject
 get_type
 
- Public Attributes inherited from ReferenceCount
 get_ref_count
 Returns the current reference count. More...
 

Additional Inherited Members

- Static Public Attributes inherited from TypedWritable
static TypedWritable *const Null = nullptr
 

Detailed Description

Computes texture coordinates for geometry automatically based on vertex position and/or normal.

This can be used to implement reflection and/or refraction maps, for instance to make shiny surfaces, as well as other special effects such as projective texturing.

Definition at line 32 of file texGenAttrib.h.

Member Function Documentation

◆ complete_pointers()

int TexGenAttrib::complete_pointers ( TypedWritable **  p_list,
BamReader manager 
)
virtual

Receives an array of pointers, one for each time manager->read_pointer() was called in fillin().

Returns the number of pointers processed.

Reimplemented from TypedWritable.

Definition at line 505 of file texGenAttrib.cxx.

◆ get_geom_rendering()

int TexGenAttrib::get_geom_rendering ( int  geom_rendering) const
inline

Returns the union of the Geom::GeomRendering bits that will be required once this TexGenAttrib is applied to a geom which includes the indicated geom_rendering bits.

Definition at line 44 of file texGenAttrib.I.

Referenced by RenderState::get_geom_rendering().

◆ register_with_read_factory()

void TexGenAttrib::register_with_read_factory ( )
static

Tells the BamReader how to create objects of type TexGenAttrib.

Definition at line 476 of file texGenAttrib.cxx.

References BamReader::get_factory(), and Factory< Type >::register_factory().

Referenced by init_libpgraph().

◆ write_datagram()

void TexGenAttrib::write_datagram ( BamWriter manager,
Datagram dg 
)
virtual

Writes the contents of this object to the datagram for shipping out to a Bam file.

Reimplemented from RenderAttrib.

Definition at line 485 of file texGenAttrib.cxx.

References Datagram::add_uint16(), Datagram::add_uint8(), RenderAttrib::write_datagram(), and BamWriter::write_pointer().


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