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

Defines a texture map that may be applied to geometry. More...

#include "eggTexture.h"

Inheritance diagram for EggTexture:
EggFilenameNode EggRenderMode EggTransform EggNode EggNamedObject EggObject Namable TypedReferenceCount MemoryBase TypedObject ReferenceCount MemoryBase MemoryBase

Public Types

enum  CombineChannel { CC_rgb = 0, CC_alpha = 1, CC_num_channels = 2 }
 
enum  CombineIndex { CI_num_indices = 3 }
 
enum  CombineMode {
  CM_unspecified, CM_replace, CM_modulate, CM_add,
  CM_add_signed, CM_interpolate, CM_subtract, CM_dot3_rgb,
  CM_dot3_rgba
}
 
enum  CombineOperand {
  CO_unspecified, CO_src_color, CO_one_minus_src_color, CO_src_alpha,
  CO_one_minus_src_alpha
}
 
enum  CombineSource {
  CS_unspecified, CS_texture, CS_constant, CS_primary_color,
  CS_previous, CS_constant_color_scale, CS_last_saved_result
}
 
enum  CompressionMode {
  CM_default, CM_off, CM_on, CM_fxt1,
  CM_dxt1, CM_dxt2, CM_dxt3, CM_dxt4,
  CM_dxt5
}
 
enum  EnvType {
  ET_unspecified, ET_modulate, ET_decal, ET_blend,
  ET_replace, ET_add, ET_blend_color_scale, ET_modulate_glow,
  ET_modulate_gloss, ET_normal, ET_normal_height, ET_glow,
  ET_gloss, ET_height, ET_selector, ET_normal_gloss
}
 
enum  Equivalence {
  E_basename = 0x001, E_extension = 0x002, E_dirname = 0x004, E_complete_filename = 0x007,
  E_transform = 0x008, E_attributes = 0x010, E_tref_name = 0x020
}
 
enum  FilterType {
  FT_unspecified, FT_nearest, FT_linear, FT_nearest_mipmap_nearest,
  FT_linear_mipmap_nearest, FT_nearest_mipmap_linear, FT_linear_mipmap_linear
}
 
enum  Format {
  F_unspecified, F_rgba, F_rgbm, F_rgba12,
  F_rgba8, F_rgba4, F_rgba5, F_rgb,
  F_rgb12, F_rgb8, F_rgb5, F_rgb332,
  F_red, F_green, F_blue, F_alpha,
  F_luminance, F_luminance_alpha, F_luminance_alphamask
}
 
enum  QualityLevel {
  QL_unspecified, QL_default, QL_fastest, QL_normal,
  QL_best
}
 
enum  TexGen {
  TG_unspecified, TG_eye_sphere_map, TG_world_cube_map, TG_eye_cube_map,
  TG_world_normal, TG_eye_normal, TG_world_position, TG_eye_position,
  TG_point_sprite
}
 
enum  TextureType {
  TT_unspecified, TT_1d_texture, TT_2d_texture, TT_3d_texture,
  TT_cube_map
}
 
enum  WrapMode {
  WM_unspecified, WM_clamp, WM_repeat, WM_mirror,
  WM_mirror_once, WM_border_color
}
 
- Public Types inherited from EggRenderMode
enum  AlphaMode {
  AM_unspecified, AM_off, AM_on, AM_blend,
  AM_blend_no_occlude, AM_ms, AM_ms_mask, AM_binary,
  AM_dual, AM_premultiplied
}
 
enum  DepthTestMode { DTM_unspecified, DTM_off, DTM_on }
 
enum  DepthWriteMode { DWM_unspecified, DWM_off, DWM_on }
 
enum  VisibilityMode { VM_unspecified, VM_hidden, VM_normal }
 
- Public Types inherited from EggTransform
enum  ComponentType {
  CT_invalid, CT_translate2d, CT_translate3d, CT_rotate2d,
  CT_rotx, CT_roty, CT_rotz, CT_rotate3d,
  CT_scale2d, CT_scale3d, CT_uniform_scale, CT_matrix3,
  CT_matrix4
}
 

Public Member Functions

 EggTexture (const std::string &tref_name, const Filename &filename)
 
 EggTexture (const EggTexture &copy)
 
bool affects_polygon_alpha () const
 Returns true if this texture's environment type or combine mode allows the texture to have an effect on the polygon's alpha values, false otherwise. More...
 
virtual EggTransformas_transform ()
 Returns this object cross-cast to an EggTransform pointer, if it inherits from EggTransform, or NULL if it does not. More...
 
void clear_alpha_file_channel ()
 
void clear_alpha_filename ()
 
void clear_alpha_scale ()
 
void clear_anisotropic_degree ()
 
void clear_border_color ()
 
void clear_color ()
 
void clear_lod_bias ()
 
void clear_max_lod ()
 
void clear_min_lod ()
 
void clear_multitexture ()
 Resets the multitexture flags set by multitexture_over(). More...
 
void clear_num_views ()
 
void clear_priority ()
 
void clear_rgb_scale ()
 
void clear_stage_name ()
 
void clear_uv_name ()
 
WrapMode determine_wrap_u () const
 Determines the appropriate wrap in the U direction. More...
 
WrapMode determine_wrap_v () const
 Determines the appropriate wrap in the V direction. More...
 
WrapMode determine_wrap_w () const
 Determines the appropriate wrap in the W direction. More...
 
virtual TypeHandle force_init_type ()
 
int get_alpha_file_channel () const
 
const Filenameget_alpha_filename () const
 
const Filenameget_alpha_fullpath () const
 
int get_alpha_scale () const
 
int get_anisotropic_degree () const
 
const LColor & get_border_color () const
 
const LColor & get_color () const
 
CombineMode get_combine_mode (CombineChannel channel) const
 
CombineOperand get_combine_operand (CombineChannel channel, int n) const
 
CombineSource get_combine_source (CombineChannel channel, int n) const
 
CompressionMode get_compression_mode () const
 
EnvType get_env_type () const
 
Format get_format () const
 
double get_lod_bias () const
 
FilterType get_magfilter () const
 
double get_max_lod () const
 
double get_min_lod () const
 
FilterType get_minfilter () const
 
int get_multitexture_sort () const
 
bool get_multiview () const
 
int get_num_views () const
 
int get_priority () const
 
QualityLevel get_quality_level () const
 
bool get_read_mipmaps () const
 
int get_rgb_scale () const
 
bool get_saved_result () const
 
const std::string & get_stage_name () const
 
TexGen get_tex_gen () const
 
TextureType get_texture_type () const
 
virtual TypeHandle get_type () const
 
const std::string & get_uv_name () const
 
WrapMode get_wrap_mode () const
 
WrapMode get_wrap_u () const
 
WrapMode get_wrap_v () const
 
WrapMode get_wrap_w () const
 
bool has_alpha_channel (int num_components) const
 Given the number of color components (channels) in the image file as actually read from the disk, return true if this texture seems to have an alpha channel or not. More...
 
bool has_alpha_file_channel () const
 
bool has_alpha_filename () const
 
bool has_alpha_scale () const
 
bool has_anisotropic_degree () const
 
bool has_border_color () const
 
bool has_color () const
 
bool has_lod_bias () const
 
bool has_max_lod () const
 
bool has_min_lod () const
 
bool has_num_views () const
 
bool has_priority () const
 
bool has_rgb_scale () const
 
bool has_stage_name () const
 
bool has_uv_name () const
 
bool is_equivalent_to (const EggTexture &other, int eq) const
 Returns true if the two textures are equivalent in all relevant properties (according to eq), false otherwise. More...
 
bool multitexture_over (EggTexture *other)
 Indicates that this texture should be layered on top of the other texture. More...
 
EggTextureoperator= (const EggTexture &copy)
 
void set_alpha_file_channel (int alpha_file_channel)
 
void set_alpha_filename (const Filename &filename)
 
void set_alpha_fullpath (const Filename &fullpath)
 
void set_alpha_scale (int alpha_scale)
 
void set_anisotropic_degree (int anisotropic_degree)
 
void set_border_color (const LColor &border_color)
 
void set_color (const LColor &color)
 
void set_combine_mode (CombineChannel channel, CombineMode cm)
 
void set_combine_operand (CombineChannel channel, int n, CombineOperand co)
 
void set_combine_source (CombineChannel channel, int n, CombineSource cs)
 
void set_compression_mode (CompressionMode mode)
 
void set_env_type (EnvType type)
 
void set_format (Format format)
 
void set_lod_bias (double lod_bias)
 
void set_magfilter (FilterType type)
 
void set_max_lod (double max_lod)
 
void set_min_lod (double min_lod)
 
void set_minfilter (FilterType type)
 
void set_multiview (bool multiview)
 
void set_num_views (int num_views)
 
void set_priority (int priority)
 
void set_quality_level (QualityLevel quality_level)
 
void set_read_mipmaps (bool read_mipmaps)
 
void set_rgb_scale (int rgb_scale)
 
void set_saved_result (bool saved_result)
 
void set_stage_name (const std::string &stage_name)
 
void set_tex_gen (TexGen tex_gen)
 
void set_texture_type (TextureType texture_type)
 
void set_uv_name (const std::string &uv_name)
 
void set_wrap_mode (WrapMode mode)
 
void set_wrap_u (WrapMode mode)
 
void set_wrap_v (WrapMode mode)
 
void set_wrap_w (WrapMode mode)
 
bool sorts_less_than (const EggTexture &other, int eq) const
 An ordering operator to compare two textures for sorting order. More...
 
virtual void write (std::ostream &out, int indent_level) const
 Writes the texture definition to the indicated output stream in Egg format. More...
 
- Public Member Functions inherited from EggFilenameNode
 EggFilenameNode (const std::string &node_name, const Filename &filename)
 
 EggFilenameNode (const EggFilenameNode &copy)
 
virtual std::string get_default_extension () const
 Returns the default extension for this filename type. More...
 
const Filenameget_filename () const
 Returns a nonmodifiable reference to the filename. More...
 
const Filenameget_fullpath () const
 Returns the full pathname to the file, if it is known; otherwise, returns the same thing as get_filename(). More...
 
EggFilenameNodeoperator= (const EggFilenameNode &copy)
 
void set_filename (const Filename &filename)
 
void set_fullpath (const Filename &fullpath)
 Records the full pathname to the file, for the benefit of get_fullpath(). More...
 
- Public Member Functions inherited from EggNode
 EggNode (const std::string &name="")
 
 EggNode (const EggNode &copy)
 
void apply_texmats ()
 Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves. More...
 
virtual EggRenderModedetermine_alpha_mode ()
 Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. More...
 
virtual EggRenderModedetermine_bin ()
 Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. More...
 
virtual bool determine_decal ()
 Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. More...
 
virtual EggRenderModedetermine_depth_offset ()
 Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_offset specified. More...
 
virtual EggRenderModedetermine_depth_test_mode ()
 Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. More...
 
virtual EggRenderModedetermine_depth_write_mode ()
 Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. More...
 
virtual EggRenderModedetermine_draw_order ()
 Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. More...
 
virtual bool determine_indexed ()
 Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. More...
 
virtual EggRenderModedetermine_visibility_mode ()
 Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. More...
 
void flatten_transforms ()
 Removes any transform and instance records from this node in the scene graph and below. More...
 
int get_depth () const
 
const LMatrix4d & get_node_frame () const
 Returns the coordinate frame of the node itself. More...
 
const LMatrix4d & get_node_frame_inv () const
 Returns the inverse of the matrix returned by get_node_frame(). More...
 
const LMatrix4d * get_node_frame_inv_ptr () const
 Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix. More...
 
const LMatrix4d * get_node_frame_ptr () const
 Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix. More...
 
const LMatrix4d & get_node_to_vertex () const
 Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. More...
 
const LMatrix4d * get_node_to_vertex_ptr () const
 Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix. More...
 
EggGroupNodeget_parent () const
 
const LMatrix4d & get_vertex_frame () const
 Returns the coordinate frame of the vertices referenced by primitives at or under this node. More...
 
const LMatrix4d & get_vertex_frame_inv () const
 Returns the inverse of the matrix returned by get_vertex_frame(). More...
 
const LMatrix4d * get_vertex_frame_inv_ptr () const
 Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix. More...
 
const LMatrix4d * get_vertex_frame_ptr () const
 Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix. More...
 
const LMatrix4d & get_vertex_to_node () const
 Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. More...
 
const LMatrix4d * get_vertex_to_node_ptr () const
 Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix. More...
 
virtual bool is_anim_matrix () const
 Returns true if this node represents a table of animation transformation data, false otherwise. More...
 
virtual bool is_joint () const
 Returns true if this particular node represents a <Joint> entry or not. More...
 
bool is_local_coord () const
 Returns true if this node's vertices are not in the global coordinate space. More...
 
bool is_under_instance () const
 Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise. More...
 
bool is_under_transform () const
 Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise. More...
 
EggNodeoperator= (const EggNode &copy)
 
bool parse_egg (const std::string &egg_syntax)
 Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. More...
 
int rename_node (vector_string strip_prefix)
 Rename by stripping out the prefix. More...
 
void test_under_integrity () const
 
void transform (const LMatrix4d &mat)
 Applies the indicated transformation to the node and all of its descendants. More...
 
void transform_vertices_only (const LMatrix4d &mat)
 Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. More...
 
- Public Member Functions inherited from EggNamedObject
 EggNamedObject (const std::string &name="")
 
 EggNamedObject (const EggNamedObject &copy)
 
EggNamedObjectoperator= (const EggNamedObject &copy)
 
void output (std::ostream &out) const
 
void write_header (std::ostream &out, int indent_level, const char *egg_keyword) const
 Writes the first line of the egg object, e.g. More...
 
- Public Member Functions inherited from EggObject
 EggObject (const EggObject &copy)
 
void clear_user_data ()
 Removes *all* user data pointers from the node. More...
 
void clear_user_data (TypeHandle type)
 Removes the user data pointer of the indicated type. More...
 
EggUserDataget_user_data () const
 Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored. More...
 
EggUserDataget_user_data (TypeHandle type) const
 Returns the user data pointer of the indicated type, if it exists, or NULL if it does not. More...
 
bool has_user_data () const
 Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise. More...
 
bool has_user_data (TypeHandle type) const
 Returns true if the user data pointer of the indicated type has been set, false otherwise. More...
 
EggObjectoperator= (const EggObject &copy)
 
void set_user_data (EggUserData *user_data)
 Sets the user data associated with this object. 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...
 
- Public Member Functions inherited from Namable
 Namable (const std::string &initial_name="")
 
void clear_name ()
 Resets the Namable's name to empty. More...
 
const std::string & get_name () const
 
bool has_name () const
 Returns true if the Namable has a nonempty name set, false if the name is empty. More...
 
void output (std::ostream &out) const
 Outputs the Namable. More...
 
void set_name (const std::string &name)
 
- Public Member Functions inherited from EggRenderMode
 EggRenderMode (const EggRenderMode &copy)
 
void clear_bin ()
 Removes the bin name that was set for this particular object. More...
 
void clear_depth_offset ()
 Removes the depth-offset flag from this particular object. More...
 
void clear_draw_order ()
 Removes the draw-order flag from this particular object. More...
 
AlphaMode get_alpha_mode () const
 Returns the alpha mode that was set, or AM_unspecified if nothing was set. More...
 
std::string get_bin () const
 Returns the bin name that has been set for this particular object, if any. More...
 
int get_depth_offset () const
 Returns the "depth-offset" flag as set for this particular object. More...
 
DepthTestMode get_depth_test_mode () const
 Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. More...
 
DepthWriteMode get_depth_write_mode () const
 Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. More...
 
int get_draw_order () const
 Returns the "draw-order" flag as set for this particular object. More...
 
VisibilityMode get_visibility_mode () const
 Returns the visibility mode that was set, or VM_unspecified if nothing was set. More...
 
bool has_bin () const
 Returns true if a bin name has been set for this particular object. More...
 
bool has_depth_offset () const
 Returns true if the depth-offset flag has been set for this particular object. More...
 
bool has_draw_order () const
 Returns true if the draw-order flag has been set for this particular object. More...
 
bool operator != (const EggRenderMode &other) const
 
bool operator< (const EggRenderMode &other) const
 
EggRenderModeoperator= (const EggRenderMode &copy)
 
bool operator== (const EggRenderMode &other) const
 
void set_alpha_mode (AlphaMode mode)
 Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. More...
 
void set_bin (const std::string &bin)
 Sets the "bin" string for this particular object. More...
 
void set_depth_offset (int bias)
 Sets the "depth-offset" flag associated with this object. More...
 
void set_depth_test_mode (DepthTestMode mode)
 Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). More...
 
void set_depth_write_mode (DepthWriteMode mode)
 Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry. More...
 
void set_draw_order (int order)
 Sets the "draw-order" flag associated with this object. More...
 
void set_visibility_mode (VisibilityMode mode)
 Specifies whether this geometry is to be considered normally visible, or hidden. More...
 
void write (std::ostream &out, int indent_level) const
 Writes the attributes to the indicated output stream in Egg format. More...
 
- Public Member Functions inherited from EggTransform
 EggTransform (const EggTransform &copy)
 
void add_matrix3 (const LMatrix3d &mat)
 Appends an arbitrary 3x3 matrix to the current transform. More...
 
void add_matrix4 (const LMatrix4d &mat)
 Appends an arbitrary 4x4 matrix to the current transform. More...
 
void add_rotate2d (double angle)
 Appends a 2-d rotation to the current transform. More...
 
void add_rotate3d (double angle, const LVector3d &axis)
 Appends a 3-d rotation about an arbitrary axis to the current transform. More...
 
void add_rotate3d (const LQuaterniond &quat)
 Appends an arbitrary 3-d rotation to the current transform, expressed as a quaternion. More...
 
void add_rotx (double angle)
 Appends a rotation about the X axis to the current transform. More...
 
void add_roty (double angle)
 Appends a rotation about the Y axis to the current transform. More...
 
void add_rotz (double angle)
 Appends a rotation about the Z axis to the current transform. More...
 
void add_scale2d (const LVecBase2d &scale)
 Appends a possibly non-uniform scale to the current transform. More...
 
void add_scale3d (const LVecBase3d &scale)
 Appends a possibly non-uniform scale to the current transform. More...
 
void add_translate2d (const LVector2d &translate)
 Appends a 2-d translation operation to the current transform. More...
 
void add_translate3d (const LVector3d &translate)
 Appends a 3-d translation operation to the current transform. More...
 
void add_uniform_scale (double scale)
 Appends a uniform scale to the current transform. More...
 
void clear_transform ()
 Resets the transform to empty, identity. More...
 
const LMatrix3d & get_component_mat3 (int n) const
 Returns the 3x3 matrix associated with the nth component. More...
 
const LMatrix4d & get_component_mat4 (int n) const
 Returns the 4x4 matrix associated with the nth component. More...
 
double get_component_number (int n) const
 Returns the solitary number associated with the nth component. More...
 
ComponentType get_component_type (int n) const
 Returns the type of the nth component. More...
 
const LVecBase2d & get_component_vec2 (int n) const
 Returns the 2-component vector associated with the nth component. More...
 
const LVecBase3d & get_component_vec3 (int n) const
 Returns the 3-component vector associated with the nth component. More...
 
int get_num_components () const
 Returns the number of components that make up the transform. More...
 
LMatrix3d get_transform2d () const
 Returns the overall transform as a 3x3 matrix. More...
 
const LMatrix4d & get_transform3d () const
 Returns the overall transform as a 4x4 matrix. More...
 
bool has_transform () const
 Returns true if the transform is nonempty, false if it is empty (no transform components have been added). More...
 
bool has_transform2d () const
 Returns true if the transform is specified as a 2-d transform, e.g. More...
 
bool has_transform3d () const
 Returns true if the transform is specified as a 3-d transform, e.g. More...
 
EggTransformoperator= (const EggTransform &copy)
 
void set_transform2d (const LMatrix3d &mat)
 Sets the overall transform as a 3x3 matrix. More...
 
void set_transform3d (const LMatrix4d &mat)
 Sets the overall transform as a 4x4 matrix. More...
 
bool transform_is_identity () const
 Returns true if the described transform is identity, false otherwise. More...
 
void write (std::ostream &out, int indent_level, const std::string &label) const
 Writes the transform to the indicated stream in Egg format. More...
 

Static Public Member Functions

static TypeHandle get_class_type ()
 
static void init_type ()
 
static CombineMode string_combine_mode (const std::string &string)
 Returns the CombineMode value associated with the given string representation, or CM_unspecified if the string does not match any known CombineMode value. More...
 
static CombineOperand string_combine_operand (const std::string &string)
 Returns the CombineOperand value associated with the given string representation, or CO_unspecified if the string does not match any known CombineOperand value. More...
 
static CombineSource string_combine_source (const std::string &string)
 Returns the CombineSource value associated with the given string representation, or CS_unspecified if the string does not match any known CombineSource value. More...
 
static CompressionMode string_compression_mode (const std::string &string)
 Returns the CompressionMode value associated with the given string representation, or CM_default if the string does not match any known CompressionMode value. More...
 
static EnvType string_env_type (const std::string &string)
 Returns the EnvType value associated with the given string representation, or ET_unspecified if the string does not match any known EnvType value. More...
 
static FilterType string_filter_type (const std::string &string)
 Returns the FilterType value associated with the given string representation, or FT_unspecified if the string does not match any known FilterType value. More...
 
static Format string_format (const std::string &string)
 Returns the Format value associated with the given string representation, or F_unspecified if the string does not match any known Format value. More...
 
static QualityLevel string_quality_level (const std::string &string)
 Returns the TexGen value associated with the given string representation, or ET_unspecified if the string does not match any known TexGen value. More...
 
static TexGen string_tex_gen (const std::string &string)
 Returns the TexGen value associated with the given string representation, or ET_unspecified if the string does not match any known TexGen value. More...
 
static TextureType string_texture_type (const std::string &string)
 Returns the Texture_ype value associated with the given string representation, or TT_unspecified if the string does not match any known TextureType value. More...
 
static WrapMode string_wrap_mode (const std::string &string)
 Returns the WrapMode value associated with the given string representation, or WM_unspecified if the string does not match any known WrapMode value. More...
 
- Static Public Member Functions inherited from EggFilenameNode
static TypeHandle get_class_type ()
 
static void init_type ()
 
- Static Public Member Functions inherited from EggNode
static TypeHandle get_class_type ()
 
static void init_type ()
 
- Static Public Member Functions inherited from EggNamedObject
static TypeHandle get_class_type ()
 
static void init_type ()
 
- Static Public Member Functions inherited from EggObject
static TypeHandle get_class_type ()
 
static void init_type ()
 
- 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 ()
 
- Static Public Member Functions inherited from Namable
static TypeHandle get_class_type ()
 
static void init_type ()
 
- Static Public Member Functions inherited from EggRenderMode
static TypeHandle get_class_type ()
 
static void init_type ()
 
static AlphaMode string_alpha_mode (const std::string &string)
 Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value. More...
 
static DepthTestMode string_depth_test_mode (const std::string &string)
 Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value. More...
 
static DepthWriteMode string_depth_write_mode (const std::string &string)
 Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value. More...
 
static VisibilityMode string_visibility_mode (const std::string &string)
 Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value. More...
 

Public Attributes

 clear_alpha_file_channel
 Removes the specification of a particular channel to use from the alpha- file image. More...
 
 clear_alpha_filename
 
 clear_alpha_scale
 Removes the alpha_scale from the texture and restores it to the default value of 1. More...
 
 clear_anisotropic_degree
 Removes the specification of anisotropic filtering from the texture. More...
 
 clear_border_color
 
 clear_color
 
 clear_lod_bias
 Removes the specification of a maximum mipmap level from the texture. More...
 
 clear_max_lod
 Removes the specification of a maximum mipmap level from the texture. More...
 
 clear_min_lod
 Removes the specification of a minimum mipmap level from the texture. More...
 
 clear_num_views
 Removes the specification of the number of views for a 3-D multiview texture. More...
 
 clear_priority
 Removes the specification of multitexture priority from the texture. More...
 
 clear_rgb_scale
 Removes the rgb_scale from the texture and restores it to the default value of 1. More...
 
 clear_stage_name
 Removes the named TextureStage specification. More...
 
 clear_uv_name
 Removes the restriction to a particular named set of texture coordinates and restores the texture to using the default texture coordinates. More...
 
 get_alpha_file_channel
 Returns the particular channel that has been specified for the alpha-file image, or 0 if no channel has been specified. More...
 
 get_alpha_filename
 Returns the separate file assigned for the alpha channel. More...
 
 get_alpha_fullpath
 Returns the full pathname to the alpha file, if it is known; otherwise, returns the same thing as get_alpha_filename(). More...
 
 get_alpha_scale
 Returns the alpha_scale value that has been specified for the texture, or 1 if no alpha_scale value has been specified. More...
 
 get_anisotropic_degree
 Returns the anisotropic filtering degree that has been specified for this texture, or 0 if nothing has been specified. More...
 
 get_border_color
 Returns the border color if one has been specified, or (0, 0, 0, 1) otherwise. More...
 
 get_color
 Returns the blend color if one has been specified, or (0, 0, 0, 1) otherwise. More...
 
 get_compression_mode
 
 get_env_type
 
 get_format
 
 get_lod_bias
 Returns the maximum mipmap level that has been specified for this texture. More...
 
 get_magfilter
 
 get_max_lod
 Returns the maximum mipmap level that has been specified for this texture. More...
 
 get_min_lod
 Returns the minimum mipmap level that has been specified for this texture. More...
 
 get_minfilter
 
 get_multitexture_sort
 Returns an integer that represents the depth to which this texture is layered on all other textures in the egg file. More...
 
 get_multiview
 Returns the current setting of the multiview flag. More...
 
 get_num_views
 Returns the specified number of views specified for the 3-D multiview texture. More...
 
 get_priority
 Returns the multitexture importance value that has been specified for the texture, or 0 if no priority value has been specified. More...
 
 get_quality_level
 
 get_read_mipmaps
 Returns the current setting of the read_mipmaps flag. More...
 
 get_rgb_scale
 Returns the rgb_scale value that has been specified for the texture, or 1 if no rgb_scale value has been specified. More...
 
 get_saved_result
 Returns the current setting of the saved_result flag. More...
 
 get_stage_name
 Returns the stage name that has been specified for this texture, or the tref name if no texture stage has explicitly been specified. More...
 
 get_tex_gen
 
 get_texture_type
 
 get_uv_name
 Returns the texcoord name that has been specified for this texture, or the empty string if no texcoord name has explicitly been specified. More...
 
 get_wrap_mode
 
 get_wrap_u
 Returns the amount specified for U wrap. More...
 
 get_wrap_v
 Returns the amount specified for V wrap. More...
 
 get_wrap_w
 Returns the amount specified for W wrap. More...
 
 has_alpha_file_channel
 Returns true if a particular channel has been specified for the alpha-file image, false otherwise. More...
 
 has_alpha_filename
 Returns true if a separate file for the alpha component has been applied, false otherwise. More...
 
 has_alpha_scale
 Returns true if an alpha_scale has been specified for the texture, false otherwise. More...
 
 has_anisotropic_degree
 Returns true if a value for the anisotropic filtering degree has been specified for this texture, false otherwise. More...
 
 has_border_color
 Returns true if a border color has been specified for the texture. More...
 
 has_color
 Returns true if a blend color has been specified for the texture. More...
 
 has_lod_bias
 Returns true if a value for the maximum mipmap level has been specified for this texture, false otherwise. More...
 
 has_max_lod
 Returns true if a value for the maximum mipmap level has been specified for this texture, false otherwise. More...
 
 has_min_lod
 Returns true if a value for the minimum mipmap level has been specified for this texture, false otherwise. More...
 
 has_num_views
 Returns true if the number of views has been specified for the 3-D multiview texture, false otherwise. More...
 
 has_priority
 Returns true if a priority value for multitexture importance has been specified for the texture, false otherwise. More...
 
 has_rgb_scale
 Returns true if an rgb_scale has been specified for the texture, false otherwise. More...
 
 has_stage_name
 Returns true if a stage name has been explicitly specified for this texture, false otherwise. More...
 
 has_uv_name
 Returns true if a texcoord name has been explicitly specified for this texture, false otherwise. More...
 
 set_alpha_file_channel
 If a separate alpha-file is specified, this indicates which channel number should be extracted from this file to derive the alpha channel for the final image. More...
 
 set_alpha_filename
 Specifies a separate file that will be loaded in with the 1- or 3-component texture and applied as the alpha channel. More...
 
 set_alpha_fullpath
 Records the full pathname to the file, for the benefit of get_alpha_fullpath(). More...
 
 set_alpha_scale
 Sets an additional factor that will scale the alpha component after the texture has been applied. More...
 
 set_anisotropic_degree
 Sets the degree of anisotropic filtering for this texture. More...
 
 set_border_color
 
 set_color
 
 set_compression_mode
 
 set_env_type
 
 set_format
 
 set_lod_bias
 Sets the mipmap level bias that is added to the mipmap level to be sampled. More...
 
 set_magfilter
 
 set_max_lod
 Sets the maximum mipmap level that may be sampled. More...
 
 set_min_lod
 Sets the minimum mipmap level that may be sampled. More...
 
 set_minfilter
 
 set_multiview
 Sets the multiview flag. More...
 
 set_num_views
 When loading a 3-D multiview texture, this parameter is necessary to specify how many views will be expected. More...
 
 set_priority
 Sets the importance of this texture with respect to other textures also applied on the same geometry. More...
 
 set_quality_level
 
 set_read_mipmaps
 Sets the read_mipmaps flag. More...
 
 set_rgb_scale
 Sets an additional factor that will scale all three r, g, b components after the texture has been applied. More...
 
 set_saved_result
 Sets the saved_result flag. More...
 
 set_stage_name
 Specifies the particular TextureStage this texture will be rendered on by name. More...
 
 set_tex_gen
 
 set_texture_type
 
 set_uv_name
 Specifies the named set of texture coordinates that this texture will use when it is applied to geometry. More...
 
 set_wrap_mode
 
 set_wrap_u
 
 set_wrap_v
 
 set_wrap_w
 
- Public Attributes inherited from EggNode
 get_depth
 Returns the number of nodes above this node in the egg hierarchy. More...
 
 get_parent
 
- Public Attributes inherited from TypedObject
 get_type
 
- Public Attributes inherited from ReferenceCount
 get_ref_count
 Returns the current reference count. More...
 
- Public Attributes inherited from Namable
 get_name
 
 set_name
 

Detailed Description

Defines a texture map that may be applied to geometry.

Definition at line 30 of file eggTexture.h.

Member Function Documentation

◆ affects_polygon_alpha()

bool EggTexture::affects_polygon_alpha ( ) const

Returns true if this texture's environment type or combine mode allows the texture to have an effect on the polygon's alpha values, false otherwise.

Definition at line 541 of file eggTexture.cxx.

◆ as_transform()

EggTransform * EggTexture::as_transform ( )
virtual

Returns this object cross-cast to an EggTransform pointer, if it inherits from EggTransform, or NULL if it does not.

Reimplemented from EggObject.

Definition at line 1045 of file eggTexture.cxx.

◆ clear_multitexture()

void EggTexture::clear_multitexture ( )

Resets the multitexture flags set by multitexture_over().

After this call, get_multitexture() will return false, and get_multitexture_sort() will return 0.

Definition at line 597 of file eggTexture.cxx.

◆ determine_wrap_u()

EggTexture::WrapMode EggTexture::determine_wrap_u ( ) const
inline

Determines the appropriate wrap in the U direction.

This is different from get_wrap_u() in that if the U wrap is unspecified, it returns the overall wrap value.

Definition at line 107 of file eggTexture.I.

References get_wrap_u.

◆ determine_wrap_v()

EggTexture::WrapMode EggTexture::determine_wrap_v ( ) const
inline

Determines the appropriate wrap in the V direction.

This is different from get_wrap_v() in that if the V wrap is unspecified, it returns the overall wrap value.

Definition at line 134 of file eggTexture.I.

References get_wrap_v.

◆ determine_wrap_w()

EggTexture::WrapMode EggTexture::determine_wrap_w ( ) const
inline

Determines the appropriate wrap in the W direction.

This is different from get_wrap_w() in that if the W wrap is unspecified, it returns the overall wrap value.

Definition at line 161 of file eggTexture.I.

References get_wrap_w.

◆ has_alpha_channel()

bool EggTexture::has_alpha_channel ( int  num_components) const

Given the number of color components (channels) in the image file as actually read from the disk, return true if this texture seems to have an alpha channel or not.

This depends on the EggTexture's format as well as the number of channels.

Definition at line 501 of file eggTexture.cxx.

Referenced by TextureReference::update_egg().

◆ is_equivalent_to()

bool EggTexture::is_equivalent_to ( const EggTexture other,
int  eq 
) const

Returns true if the two textures are equivalent in all relevant properties (according to eq), false otherwise.

The Equivalence parameter, eq, should be set to the bitwise OR of the following properties, according to what you consider relevant:

EggTexture::E_basename: The basename part of the texture filename, without the directory prefix *or* the filename extension.

EggTexture::E_extension: The extension part of the texture filename.

EggTexture::E_dirname: The directory prefix of the texture filename.

EggTexture::E_complete_filename: The union of the above three; that is, the complete filename, with directory, basename, and extension.

EggTexture::E_transform: The texture matrix.

EggTexture::E_attributes: All remaining texture attributes (mode, mipmap, etc.) except TRef name.

EggTexture::E_tref_name: The TRef name.

Definition at line 329 of file eggTexture.cxx.

References Filename::get_basename_wo_extension(), Filename::get_dirname(), Filename::get_extension(), EggFilenameNode::get_filename(), EggTransform::get_transform3d(), EggTransform::has_transform(), and EggTransform::transform_is_identity().

Referenced by EggTextureCollection::create_unique_texture().

◆ multitexture_over()

bool EggTexture::multitexture_over ( EggTexture other)

Indicates that this texture should be layered on top of the other texture.

This will guarantee that this->get_multitexture_sort() > other->get_multitexture_sort(), at least until clear_multitexture() is called on either one.

The return value is true if successful, or false if there is a failure because the other texture was already layered on top of this one (or there is a three- or more-way cycle).

Definition at line 634 of file eggTexture.cxx.

References get_multitexture_sort.

◆ sorts_less_than()

bool EggTexture::sorts_less_than ( const EggTexture other,
int  eq 
) const

An ordering operator to compare two textures for sorting order.

This imposes an arbitrary ordering useful to identify unique textures, according to the indicated Equivalence factor. See is_equivalent_to().

Definition at line 405 of file eggTexture.cxx.

References Filename::get_basename_wo_extension(), Filename::get_dirname(), Filename::get_extension(), EggFilenameNode::get_filename(), EggTransform::get_transform3d(), EggTransform::has_transform(), and EggTransform::transform_is_identity().

◆ string_combine_mode()

EggTexture::CombineMode EggTexture::string_combine_mode ( const std::string &  string)
static

Returns the CombineMode value associated with the given string representation, or CM_unspecified if the string does not match any known CombineMode value.

Definition at line 890 of file eggTexture.cxx.

◆ string_combine_operand()

EggTexture::CombineOperand EggTexture::string_combine_operand ( const std::string &  string)
static

Returns the CombineOperand value associated with the given string representation, or CO_unspecified if the string does not match any known CombineOperand value.

Definition at line 956 of file eggTexture.cxx.

◆ string_combine_source()

EggTexture::CombineSource EggTexture::string_combine_source ( const std::string &  string)
static

Returns the CombineSource value associated with the given string representation, or CS_unspecified if the string does not match any known CombineSource value.

Definition at line 926 of file eggTexture.cxx.

◆ string_compression_mode()

EggTexture::CompressionMode EggTexture::string_compression_mode ( const std::string &  string)
static

Returns the CompressionMode value associated with the given string representation, or CM_default if the string does not match any known CompressionMode value.

Definition at line 739 of file eggTexture.cxx.

◆ string_env_type()

EggTexture::EnvType EggTexture::string_env_type ( const std::string &  string)
static

Returns the EnvType value associated with the given string representation, or ET_unspecified if the string does not match any known EnvType value.

Definition at line 833 of file eggTexture.cxx.

◆ string_filter_type()

EggTexture::FilterType EggTexture::string_filter_type ( const std::string &  string)
static

Returns the FilterType value associated with the given string representation, or FT_unspecified if the string does not match any known FilterType value.

Definition at line 788 of file eggTexture.cxx.

◆ string_format()

EggTexture::Format EggTexture::string_format ( const std::string &  string)
static

Returns the Format value associated with the given string representation, or F_unspecified if the string does not match any known Format value.

Definition at line 690 of file eggTexture.cxx.

◆ string_quality_level()

EggTexture::QualityLevel EggTexture::string_quality_level ( const std::string &  string)
static

Returns the TexGen value associated with the given string representation, or ET_unspecified if the string does not match any known TexGen value.

Definition at line 1019 of file eggTexture.cxx.

◆ string_tex_gen()

EggTexture::TexGen EggTexture::string_tex_gen ( const std::string &  string)
static

Returns the TexGen value associated with the given string representation, or ET_unspecified if the string does not match any known TexGen value.

Definition at line 979 of file eggTexture.cxx.

◆ string_texture_type()

EggTexture::TextureType EggTexture::string_texture_type ( const std::string &  string)
static

Returns the Texture_ype value associated with the given string representation, or TT_unspecified if the string does not match any known TextureType value.

Definition at line 659 of file eggTexture.cxx.

◆ string_wrap_mode()

EggTexture::WrapMode EggTexture::string_wrap_mode ( const std::string &  string)
static

Returns the WrapMode value associated with the given string representation, or WM_unspecified if the string does not match any known WrapMode value.

Definition at line 766 of file eggTexture.cxx.

◆ write()

void EggTexture::write ( std::ostream &  out,
int  indent_level 
) const
virtual

Member Data Documentation

◆ clear_alpha_file_channel

void EggTexture::clear_alpha_file_channel
inline

Removes the specification of a particular channel to use from the alpha- file image.

Definition at line 346 of file eggTexture.h.

◆ clear_alpha_scale

void EggTexture::clear_alpha_scale
inline

Removes the alpha_scale from the texture and restores it to the default value of 1.

Definition at line 341 of file eggTexture.h.

◆ clear_anisotropic_degree

void EggTexture::clear_anisotropic_degree
inline

Removes the specification of anisotropic filtering from the texture.

Definition at line 323 of file eggTexture.h.

◆ clear_lod_bias

void EggTexture::clear_lod_bias
inline

Removes the specification of a maximum mipmap level from the texture.

Definition at line 356 of file eggTexture.h.

◆ clear_max_lod

void EggTexture::clear_max_lod
inline

Removes the specification of a maximum mipmap level from the texture.

Definition at line 354 of file eggTexture.h.

◆ clear_min_lod

void EggTexture::clear_min_lod
inline

Removes the specification of a minimum mipmap level from the texture.

Definition at line 352 of file eggTexture.h.

◆ clear_num_views

void EggTexture::clear_num_views
inline

Removes the specification of the number of views for a 3-D multiview texture.

Definition at line 349 of file eggTexture.h.

◆ clear_priority

void EggTexture::clear_priority
inline

Removes the specification of multitexture priority from the texture.

The default priority value is 0.

Definition at line 331 of file eggTexture.h.

◆ clear_rgb_scale

void EggTexture::clear_rgb_scale
inline

Removes the rgb_scale from the texture and restores it to the default value of 1.

Definition at line 339 of file eggTexture.h.

◆ clear_stage_name

void EggTexture::clear_stage_name
inline

Removes the named TextureStage specification.

Definition at line 329 of file eggTexture.h.

◆ clear_uv_name

void EggTexture::clear_uv_name
inline

Removes the restriction to a particular named set of texture coordinates and restores the texture to using the default texture coordinates.

Definition at line 337 of file eggTexture.h.

◆ get_alpha_file_channel

int EggTexture::get_alpha_file_channel
inline

Returns the particular channel that has been specified for the alpha-file image, or 0 if no channel has been specified.

See set_alpha_file_channel().

Definition at line 346 of file eggTexture.h.

Referenced by write().

◆ get_alpha_filename

const Filename & EggTexture::get_alpha_filename
inline

Returns the separate file assigned for the alpha channel.

It is an error to call this unless has_alpha_filename() returns true. See set_alpha_filename().

Definition at line 343 of file eggTexture.h.

Referenced by write().

◆ get_alpha_fullpath

const Filename & EggTexture::get_alpha_fullpath
inline

Returns the full pathname to the alpha file, if it is known; otherwise, returns the same thing as get_alpha_filename().

This function simply returns whatever was set by the last call to set_alpha_fullpath(). This string is not written to the egg file; its main purpose is to record the full path to the alpha filename if it is known, for egg structures that are generated in-memory and then immediately converted to a scene graph.

Definition at line 344 of file eggTexture.h.

◆ get_alpha_scale

int EggTexture::get_alpha_scale
inline

Returns the alpha_scale value that has been specified for the texture, or 1 if no alpha_scale value has been specified.

Definition at line 341 of file eggTexture.h.

Referenced by PT().

◆ get_anisotropic_degree

int EggTexture::get_anisotropic_degree
inline

Returns the anisotropic filtering degree that has been specified for this texture, or 0 if nothing has been specified.

Definition at line 323 of file eggTexture.h.

Referenced by write().

◆ get_border_color

const LColor & EggTexture::get_border_color
inline

Returns the border color if one has been specified, or (0, 0, 0, 1) otherwise.

Definition at line 335 of file eggTexture.h.

◆ get_color

const LColor & EggTexture::get_color
inline

Returns the blend color if one has been specified, or (0, 0, 0, 1) otherwise.

Definition at line 333 of file eggTexture.h.

Referenced by PT().

◆ get_lod_bias

double EggTexture::get_lod_bias
inline

Returns the maximum mipmap level that has been specified for this texture.

Definition at line 356 of file eggTexture.h.

◆ get_max_lod

double EggTexture::get_max_lod
inline

Returns the maximum mipmap level that has been specified for this texture.

Definition at line 354 of file eggTexture.h.

◆ get_min_lod

double EggTexture::get_min_lod
inline

Returns the minimum mipmap level that has been specified for this texture.

Definition at line 352 of file eggTexture.h.

◆ get_multitexture_sort

int EggTexture::get_multitexture_sort
inline

Returns an integer that represents the depth to which this texture is layered on all other textures in the egg file.

In general, if texture A is layered over texture B, then sort(A) > sort(B). If texture A is never layered over any other texture, then sort(A) == 0. More than that is difficult to guarantee.

Definition at line 358 of file eggTexture.h.

Referenced by multitexture_over(), and PT().

◆ get_multiview

bool EggTexture::get_multiview
inline

Returns the current setting of the multiview flag.

See set_multiview().

Definition at line 347 of file eggTexture.h.

◆ get_num_views

int EggTexture::get_num_views
inline

Returns the specified number of views specified for the 3-D multiview texture.

See set_num_views().

Definition at line 349 of file eggTexture.h.

◆ get_priority

int EggTexture::get_priority
inline

Returns the multitexture importance value that has been specified for the texture, or 0 if no priority value has been specified.

Definition at line 331 of file eggTexture.h.

Referenced by PT().

◆ get_read_mipmaps

bool EggTexture::get_read_mipmaps
inline

Returns the current setting of the read_mipmaps flag.

See set_read_mipmaps().

Definition at line 350 of file eggTexture.h.

Referenced by write().

◆ get_rgb_scale

int EggTexture::get_rgb_scale
inline

Returns the rgb_scale value that has been specified for the texture, or 1 if no rgb_scale value has been specified.

Definition at line 339 of file eggTexture.h.

Referenced by PT().

◆ get_saved_result

bool EggTexture::get_saved_result
inline

Returns the current setting of the saved_result flag.

See set_saved_result().

Definition at line 325 of file eggTexture.h.

Referenced by PT().

◆ get_stage_name

const std::string & EggTexture::get_stage_name
inline

Returns the stage name that has been specified for this texture, or the tref name if no texture stage has explicitly been specified.

Definition at line 329 of file eggTexture.h.

Referenced by PT().

◆ get_uv_name

const std::string & EggTexture::get_uv_name
inline

Returns the texcoord name that has been specified for this texture, or the empty string if no texcoord name has explicitly been specified.

Definition at line 337 of file eggTexture.h.

Referenced by PT(), and EggGroupNode::recompute_tangent_binormal_auto().

◆ get_wrap_u

EggTexture::WrapMode EggTexture::get_wrap_u
inline

Returns the amount specified for U wrap.

This may be unspecified, even if there is an overall wrap value.

Definition at line 317 of file eggTexture.h.

Referenced by determine_wrap_u(), and write().

◆ get_wrap_v

EggTexture::WrapMode EggTexture::get_wrap_v
inline

Returns the amount specified for V wrap.

This may be unspecified, even if there is an overall wrap value.

Definition at line 318 of file eggTexture.h.

Referenced by determine_wrap_v(), and write().

◆ get_wrap_w

EggTexture::WrapMode EggTexture::get_wrap_w
inline

Returns the amount specified for W wrap.

This may be unspecified, even if there is an overall wrap value.

Definition at line 319 of file eggTexture.h.

Referenced by determine_wrap_w(), and write().

◆ has_alpha_file_channel

bool EggTexture::has_alpha_file_channel
inline

Returns true if a particular channel has been specified for the alpha-file image, false otherwise.

Definition at line 346 of file eggTexture.h.

Referenced by write().

◆ has_alpha_filename

bool EggTexture::has_alpha_filename
inline

Returns true if a separate file for the alpha component has been applied, false otherwise.

See set_alpha_filename().

Definition at line 343 of file eggTexture.h.

Referenced by write().

◆ has_alpha_scale

bool EggTexture::has_alpha_scale
inline

Returns true if an alpha_scale has been specified for the texture, false otherwise.

Definition at line 341 of file eggTexture.h.

Referenced by PT().

◆ has_anisotropic_degree

bool EggTexture::has_anisotropic_degree
inline

Returns true if a value for the anisotropic filtering degree has been specified for this texture, false otherwise.

Definition at line 323 of file eggTexture.h.

Referenced by write().

◆ has_border_color

bool EggTexture::has_border_color
inline

Returns true if a border color has been specified for the texture.

Definition at line 335 of file eggTexture.h.

◆ has_color

bool EggTexture::has_color
inline

Returns true if a blend color has been specified for the texture.

Definition at line 333 of file eggTexture.h.

Referenced by PT().

◆ has_lod_bias

bool EggTexture::has_lod_bias
inline

Returns true if a value for the maximum mipmap level has been specified for this texture, false otherwise.

Definition at line 356 of file eggTexture.h.

◆ has_max_lod

bool EggTexture::has_max_lod
inline

Returns true if a value for the maximum mipmap level has been specified for this texture, false otherwise.

Definition at line 354 of file eggTexture.h.

◆ has_min_lod

bool EggTexture::has_min_lod
inline

Returns true if a value for the minimum mipmap level has been specified for this texture, false otherwise.

Definition at line 352 of file eggTexture.h.

◆ has_num_views

bool EggTexture::has_num_views
inline

Returns true if the number of views has been specified for the 3-D multiview texture, false otherwise.

Definition at line 349 of file eggTexture.h.

◆ has_priority

bool EggTexture::has_priority
inline

Returns true if a priority value for multitexture importance has been specified for the texture, false otherwise.

Definition at line 331 of file eggTexture.h.

Referenced by PT().

◆ has_rgb_scale

bool EggTexture::has_rgb_scale
inline

Returns true if an rgb_scale has been specified for the texture, false otherwise.

Definition at line 339 of file eggTexture.h.

Referenced by PT().

◆ has_stage_name

bool EggTexture::has_stage_name
inline

Returns true if a stage name has been explicitly specified for this texture, false otherwise.

Definition at line 329 of file eggTexture.h.

Referenced by PT().

◆ has_uv_name

bool EggTexture::has_uv_name
inline

Returns true if a texcoord name has been explicitly specified for this texture, false otherwise.

Definition at line 337 of file eggTexture.h.

Referenced by PT().

◆ set_alpha_file_channel

void EggTexture::set_alpha_file_channel
inline

If a separate alpha-file is specified, this indicates which channel number should be extracted from this file to derive the alpha channel for the final image.

The default is 0, which means the grayscale combination of r, g, b. Otherwise, this should be the 1-based channel number, for instance 1, 2, or 3 for r, g, or b, respectively, or 4 for the alpha channel of a four-component image.

Definition at line 346 of file eggTexture.h.

◆ set_alpha_filename

void EggTexture::set_alpha_filename
inline

Specifies a separate file that will be loaded in with the 1- or 3-component texture and applied as the alpha channel.

This is useful when loading textures from file formats that do not support alpha, for instance jpg.

Definition at line 343 of file eggTexture.h.

◆ set_alpha_fullpath

void EggTexture::set_alpha_fullpath
inline

Records the full pathname to the file, for the benefit of get_alpha_fullpath().

Definition at line 344 of file eggTexture.h.

◆ set_alpha_scale

void EggTexture::set_alpha_scale
inline

Sets an additional factor that will scale the alpha component after the texture has been applied.

This is used only when a combine mode is in effect.

The only legal values are 1, 2, or 4.

Definition at line 341 of file eggTexture.h.

◆ set_anisotropic_degree

void EggTexture::set_anisotropic_degree
inline

Sets the degree of anisotropic filtering for this texture.

1 is off; higher levels indicate filtering in effect.

Definition at line 323 of file eggTexture.h.

Referenced by TextureProperties::update_egg_tex().

◆ set_lod_bias

void EggTexture::set_lod_bias
inline

Sets the mipmap level bias that is added to the mipmap level to be sampled.

Definition at line 356 of file eggTexture.h.

◆ set_max_lod

void EggTexture::set_max_lod
inline

Sets the maximum mipmap level that may be sampled.

Definition at line 354 of file eggTexture.h.

◆ set_min_lod

void EggTexture::set_min_lod
inline

Sets the minimum mipmap level that may be sampled.

Definition at line 352 of file eggTexture.h.

◆ set_multiview

void EggTexture::set_multiview
inline

Sets the multiview flag.

If multiview is true, the filename should contain a hash mark ('#'), which will be filled in with the view number; and a multiview texture will be defined with a series of images, one for each view.

A multiview texture is most often used for stereo textures, but other uses are also possible, such as for texture animation.

Definition at line 347 of file eggTexture.h.

◆ set_num_views

void EggTexture::set_num_views
inline

When loading a 3-D multiview texture, this parameter is necessary to specify how many views will be expected.

The z size is determined implicitly from the number of images loaded.

Definition at line 349 of file eggTexture.h.

◆ set_priority

void EggTexture::set_priority
inline

Sets the importance of this texture with respect to other textures also applied on the same geometry.

This is only meaningful in the presence of multitexturing.

Definition at line 331 of file eggTexture.h.

◆ set_read_mipmaps

void EggTexture::set_read_mipmaps
inline

Sets the read_mipmaps flag.

If read_mipmaps is true, the filename should contain a hash mark ('#'), which will be filled in with the mipmap level number; and the texture will be defined with a series of images, one for each mipmap level.

If the filename is of a type that already requires a hash mark, such as a cube map or a 3-d texture, then the filename should now require two hash marks, and the first one indicates the mipmap level number, while the second indicates the face number or 3-d level number.

Definition at line 350 of file eggTexture.h.

◆ set_rgb_scale

void EggTexture::set_rgb_scale
inline

Sets an additional factor that will scale all three r, g, b components after the texture has been applied.

This is used only when a combine mode is in effect.

The only legal values are 1, 2, or 4.

Definition at line 339 of file eggTexture.h.

◆ set_saved_result

void EggTexture::set_saved_result
inline

Sets the saved_result flag.

When this is true, the output of this stage is not part of the normal pipeline–that is, it will not be supplied as the "previous" source for the next texture stage–but it will instead be supplied as the "last_saved_result" source for any future stages, until the next TextureStage with a saved_result set true is encountered.

This can be used to reuse the results of this texture stage as input to more than one stage later in the pipeline.

The last texture in the pipeline (the one with the highest sort value) should not have this flag set.

Definition at line 325 of file eggTexture.h.

◆ set_stage_name

void EggTexture::set_stage_name
inline

Specifies the particular TextureStage this texture will be rendered on by name.

If this is omitted, the texture will be rendered on the default TextureStage, unless some other stage-specific property is specificied, in which case the texture will be rendered on a TextureStage with the same name as the tref. This is in support of multitexturing.

Each different TextureStage in the world must be uniquely named.

Definition at line 329 of file eggTexture.h.

◆ set_uv_name

void EggTexture::set_uv_name
inline

Specifies the named set of texture coordinates that this texture will use when it is applied to geometry.

Geometry may have multiple sets of texture coordinates defined, by name.

If this is not specified for a particular texture, the default set of texture coordinates will be used.

Definition at line 337 of file eggTexture.h.


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