Panda3D
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
MayaShaderColorDef Class Reference

This defines the various attributes that Maya may associate with the "color" channel for a particular shader (as well as on the "transparency" channel). More...

#include "mayaShaderColorDef.h"

Public Types

enum  BlendType {
  BT_unspecified, BT_modulate, BT_decal, BT_blend,
  BT_replace, BT_add, BT_blend_color_scale, BT_modulate_glow,
  BT_modulate_gloss, BT_normal, BT_normal_height, BT_gloss,
  BT_glow, BT_height, BT_selector
}
 
enum  ProjectionType {
  PT_off, PT_planar, PT_spherical, PT_cylindrical,
  PT_ball, PT_cubic, PT_triplanar, PT_concentric,
  PT_perspective
}
 

Public Member Functions

 MayaShaderColorDef (MayaShaderColorDef &)
 
LMatrix3d compute_texture_matrix () const
 Returns a texture matrix corresponding to the texture transforms indicated by the shader. More...
 
std::string get_panda_uvset_name ()
 Maya's default uvset name is "map1". More...
 
bool has_projection () const
 Returns true if the shader has a projection in effect. More...
 
LTexCoordd project_uv (const LPoint3d &pos, const LPoint3d &ref_point) const
 If the shader has a projection (has_projection() returns true), this computes the appropriate UV corresponding to the indicated 3-d point. More...
 
bool reset_maya_texture (const Filename &texture)
 Changes the texture filename stored in the Maya file for this particular shader. More...
 
std::string strip_prefix (std::string full_name)
 
void write (std::ostream &out) const
 

Public Attributes

BlendType _blend_type
 
LColor _color_gain
 
LVector2 _coverage
 
LColord _flat_color
 
bool _has_alpha_channel
 
bool _has_flat_color
 
bool _has_texture
 
bool _interpolate
 
bool _is_alpha
 
bool _keep_alpha
 
bool _keep_color
 
bool _mirror
 
LVector2 _offset
 
MayaShaderColorDef_opposite
 
LMatrix4d _projection_matrix
 
ProjectionType _projection_type
 
LVector2 _repeat_uv
 
double _rotate_frame
 
double _rotate_uv
 
bool _stagger
 
Filename _texture_filename
 
std::string _texture_name
 
LVector2 _translate_frame
 
double _u_angle
 
std::string _uvset_name
 
double _v_angle
 
bool _wrap_u
 
bool _wrap_v
 

Friends

class MayaShader
 

Detailed Description

This defines the various attributes that Maya may associate with the "color" channel for a particular shader (as well as on the "transparency" channel).

Definition at line 34 of file mayaShaderColorDef.h.

Member Function Documentation

◆ compute_texture_matrix()

LMatrix3d MayaShaderColorDef::compute_texture_matrix ( ) const

Returns a texture matrix corresponding to the texture transforms indicated by the shader.

Definition at line 144 of file mayaShaderColorDef.cxx.

◆ get_panda_uvset_name()

string MayaShaderColorDef::get_panda_uvset_name ( )

Maya's default uvset name is "map1".

Panda's default uvset name is "default". Otherwise, leaves uvset name untranslated.

Definition at line 235 of file mayaShaderColorDef.cxx.

◆ has_projection()

bool MayaShaderColorDef::has_projection ( ) const

Returns true if the shader has a projection in effect.

Definition at line 162 of file mayaShaderColorDef.cxx.

◆ project_uv()

LTexCoordd MayaShaderColorDef::project_uv ( const LPoint3d &  pos,
const LPoint3d &  centroid 
) const

If the shader has a projection (has_projection() returns true), this computes the appropriate UV corresponding to the indicated 3-d point.

Seams that might be introduced on polygons that cross quadrants are closed up by ensuring the point is in the same quadrant as the indicated reference point.

Definition at line 174 of file mayaShaderColorDef.cxx.

◆ reset_maya_texture()

bool MayaShaderColorDef::reset_maya_texture ( const Filename texture)

Changes the texture filename stored in the Maya file for this particular shader.

Definition at line 210 of file mayaShaderColorDef.cxx.

References set_string_attribute(), and Filename::to_os_generic().


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