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

Public Member Functions

 MaterialPropertyOverrider (const MaterialPropertyOverrider *parent)
 
template<typename T >
bool set_property_value (MaterialPropertyNameHash hsh, const char *name, const T &value)
 
template<typename T >
bool set_property_value (const char *name, const T &value)
 
bool set_property_value (const char *name, const Colour &value)
 
template<typename T >
bool property_value (const MaterialPropertyNameHash hsh, const T *&out) const
 
template<typename T >
void set_property_value (const std::string &str, 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 property_type (const char *property_name, MaterialPropertyType *type) const
 

Protected Types

typedef BasePropertyValue MaterialPropertyOverrider::* PropertyValueMemberPtr
 

Protected Member Functions

BasePropertyValuefind_core_property_value (const MaterialPropertyNameHash &hsh)
 
PropertyValueMemberPtr find_core_property (const MaterialPropertyNameHash &hsh) const
 
const BasePropertyValuefind_core_property_value (const MaterialPropertyNameHash &hsh) const
 
virtual void on_override (MaterialPropertyNameHash hsh, const char *name, MaterialPropertyType type)
 
virtual void on_clear_override (MaterialPropertyNameHash hsh)
 
bool check_existance (const MaterialPropertyNameHash hsh) const
 
bool check_existance (const char *property_name) const
 
bool clear_override (const unsigned hsh)
 

Protected Attributes

PropertyValue< Vec4diffuse_property_
 
PropertyValue< Vec4ambient_property_
 
PropertyValue< Vec4emission_property_
 
PropertyValue< Vec4specular_property_
 
PropertyValue< float > shininess_property_
 
PropertyValue< float > point_size_property_
 
PropertyValue< bool > depth_write_enabled_property_
 
PropertyValue< bool > depth_test_enabled_property_
 
PropertyValue< bool > lighting_enabled_property_
 
PropertyValue< int32_t > textures_enabled_property_
 
PropertyValue< TexturePtr > diffuse_map_property_
 
PropertyValue< TexturePtr > specular_map_property_
 
PropertyValue< TexturePtr > light_map_property_
 
PropertyValue< TexturePtr > normal_map_property_
 
PropertyValue< Mat4diffuse_map_matrix_property_
 
PropertyValue< Mat4specular_map_matrix_property_
 
PropertyValue< Mat4light_map_matrix_property_
 
PropertyValue< Mat4normal_map_matrix_property_
 
PropertyValue< int32_t > blend_func_property_
 
PropertyValue< int32_t > polygon_mode_property_
 
PropertyValue< int32_t > shade_model_property_
 
PropertyValue< bool > colour_material_property_
 
PropertyValue< int32_t > cull_mode_property_
 
PropertyValue< Vec4fog_colour_property_
 
PropertyValue< float > fog_density_property_
 
PropertyValue< float > fog_start_property_
 
PropertyValue< float > fog_end_property_
 
PropertyValue< int32_t > fog_mode_property_
 
const MaterialPropertyOverriderparent_ = nullptr
 
std::unordered_map< MaterialPropertyNameHash, PropertyValue< void > > properties_
 

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