Simulant  21.12-1292
A portable game engine for Windows, OSX, Linux, Dreamcast, and PSP
Public Member Functions | Friends | List of all members
smlt::MaterialObject Class Reference
Inheritance diagram for smlt::MaterialObject:
smlt::MaterialPropertyOverrider smlt::Material smlt::MaterialPass

Public Member Functions

 MaterialObject (MaterialObject *parent)
 
void set_specular (const Color &color)
 
void set_ambient (const Color &color)
 
void set_diffuse (const Color &color)
 
void set_emission (const Color &color)
 
void set_shininess (float shininess)
 
void set_diffuse_map (TexturePtr texture)
 
void set_light_map (TexturePtr texture)
 
void set_specular_map (TexturePtr texture)
 
void set_normal_map (TexturePtr texture)
 
const Mat4diffuse_map_matrix () const
 
const Mat4light_map_matrix () const
 
const Mat4normal_map_matrix () const
 
const Mat4specular_map_matrix () const
 
void set_diffuse_map_matrix (const Mat4 &mat)
 
void set_light_map_matrix (const Mat4 &mat)
 
void set_normal_map_matrix (const Mat4 &mat)
 
void set_specular_map_matrix (const Mat4 &mat)
 
const TexturePtr & diffuse_map () const
 
const TexturePtr & light_map () const
 
const TexturePtr & normal_map () const
 
const TexturePtr & specular_map () const
 
void set_fog_density (float density)
 
void set_fog_start (float start)
 
void set_fog_end (float end)
 
void set_fog_mode (FogMode mode)
 
void set_fog_color (const Color &color)
 
float fog_density () const
 
float fog_start () const
 
float fog_end () const
 
FogMode fog_mode () const
 
const Colorfog_color () const
 
const Colorspecular () const
 
const Colorambient () const
 
const Coloremission () const
 
const Colordiffuse () const
 
float shininess () const
 
bool is_blending_enabled () const
 
void set_blend_func (BlendType b)
 
BlendType blend_func () const
 
void set_depth_func (DepthFunc b)
 
DepthFunc depth_func () const
 
void set_depth_write_enabled (bool v)
 
bool is_depth_write_enabled () const
 
void set_alpha_func (AlphaFunc a)
 
AlphaFunc alpha_func () const
 
void set_alpha_threshold (float v)
 
float alpha_threshold () const
 
bool is_alpha_testing_enabled () const
 
void set_cull_mode (CullMode mode)
 
CullMode cull_mode () const
 
void set_depth_test_enabled (bool v)
 
bool is_depth_test_enabled () const
 
void set_lighting_enabled (bool v)
 
bool is_lighting_enabled () const
 
void set_textures_enabled (EnabledTextureMask v)
 
int32_t textures_enabled () const
 
float point_size () const
 
void set_polygon_mode (PolygonMode mode)
 
PolygonMode polygon_mode () const
 
void set_shade_model (ShadeModel model)
 
ShadeModel shade_model () const
 
ColorMaterial color_material () const
 
void set_color_material (ColorMaterial cm)
 
const MaterialObjectparent_material_object () const
 
- Public Member Functions inherited from smlt::MaterialPropertyOverrider
 MaterialPropertyOverrider (const MaterialPropertyOverrider *parent)
 
virtual bool set_property_value (MaterialPropertyNameHash hsh, const char *name, const bool &value)=0
 
virtual bool set_property_value (MaterialPropertyNameHash hsh, const char *name, const float &value)=0
 
virtual bool set_property_value (MaterialPropertyNameHash hsh, const char *name, const int32_t &value)=0
 
virtual bool set_property_value (MaterialPropertyNameHash hsh, const char *name, const Vec2 &value)=0
 
virtual bool set_property_value (MaterialPropertyNameHash hsh, const char *name, const Vec3 &value)=0
 
virtual bool set_property_value (MaterialPropertyNameHash hsh, const char *name, const Vec4 &value)=0
 
virtual bool set_property_value (MaterialPropertyNameHash hsh, const char *name, const Mat3 &value)=0
 
virtual bool set_property_value (MaterialPropertyNameHash hsh, const char *name, const Mat4 &value)=0
 
virtual bool set_property_value (MaterialPropertyNameHash hsh, const char *name, const TexturePtr &value)=0
 
virtual bool property_value (const MaterialPropertyNameHash hsh, const bool *&out) const =0
 
virtual bool property_value (const MaterialPropertyNameHash hsh, const float *&out) const =0
 
virtual bool property_value (const MaterialPropertyNameHash hsh, const int32_t *&out) const =0
 
virtual bool property_value (const MaterialPropertyNameHash hsh, const Vec2 *&out) const =0
 
virtual bool property_value (const MaterialPropertyNameHash hsh, const Vec3 *&out) const =0
 
virtual bool property_value (const MaterialPropertyNameHash hsh, const Vec4 *&out) const =0
 
virtual bool property_value (const MaterialPropertyNameHash hsh, const Mat3 *&out) const =0
 
virtual bool property_value (const MaterialPropertyNameHash hsh, const Mat4 *&out) const =0
 
virtual bool property_value (const MaterialPropertyNameHash hsh, const TexturePtr *&out) const =0
 
virtual bool set_property_value (MaterialPropertyNameHash hsh, const char *name, const Color &value)
 
virtual bool property_value (const MaterialPropertyNameHash hsh, const Color *&out) const
 
template<typename T >
void set_property_value (const std::string &str, const T &v)
 
template<typename T >
void set_property_value (const char *name, const T &v)
 
template<typename T >
bool property_value (const std::string &str, const T *&out) const
 
template<typename T >
bool property_value (const char *name, const T *&out) const
 
bool clear_override (const char *name)
 
bool clear_override (MaterialPropertyNameHash hsh)
 
bool check_existance (const char *property_name) const
 
virtual bool property_type (const char *property_name, MaterialPropertyType *type) const =0
 
virtual bool on_check_existence (MaterialPropertyNameHash hsh) const =0
 

Friends

class Material
 

Additional Inherited Members

- Protected Member Functions inherited from smlt::MaterialPropertyOverrider
virtual void on_override (MaterialPropertyNameHash hsh, const char *name, MaterialPropertyType type)
 
virtual bool on_clear_override (MaterialPropertyNameHash hsh)=0
 
- Protected Attributes inherited from smlt::MaterialPropertyOverrider
const MaterialPropertyOverriderparent_ = nullptr
 

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