Antkeeper
0.0.1
|
Abstract base class for material properties. More...
#include <material-property.hpp>
Public Member Functions | |
bool | connect (const gl::shader_input *input) |
Connects the material property to a shader input. More... | |
void | disconnect () |
Disconnects the material property from its shader input. More... | |
virtual void | update_tweens ()=0 |
Sets state 0 = state 1. More... | |
virtual bool | upload (double a) const =0 |
Uploads the material property to its shader program. More... | |
virtual gl::shader_variable_type | get_data_type () const =0 |
Returns the type of data which the property contains. More... | |
bool | is_connected () const |
Returns true if the material property is connected to a shader input, false otherwise. More... | |
virtual material_property_base * | clone () const =0 |
Creates a copy of this material property. More... | |
Protected Member Functions | |
material_property_base () | |
Protected Attributes | |
const gl::shader_input * | input |
Abstract base class for material properties.
Definition at line 42 of file material-property.hpp.
|
protected |
Definition at line 25 of file material-property.cpp.
|
pure virtual |
Creates a copy of this material property.
Implemented in render::material_property< T >, render::material_property< float >, and render::material_property< math::vector >.
bool render::material_property_base::connect | ( | const gl::shader_input * | input | ) |
Connects the material property to a shader input.
input | Shader input to which the material property should be connected. |
true
if the property was connected to the input successfully, false
otherwise. Definition at line 29 of file material-property.cpp.
void render::material_property_base::disconnect | ( | ) |
Disconnects the material property from its shader input.
Definition at line 41 of file material-property.cpp.
|
pure virtual |
Returns the type of data which the property contains.
Implemented in render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, render::material_property< math::vector >, render::material_property< T >, render::material_property< float >, and render::material_property< math::vector >.
|
inline |
Returns true
if the material property is connected to a shader input, false
otherwise.
Definition at line 92 of file material-property.hpp.
|
pure virtual |
Sets state 0 = state 1.
Implemented in render::material_property< T >, render::material_property< float >, and render::material_property< math::vector >.
|
pure virtual |
Uploads the material property to its shader program.
a | Interpolation factor. Should be on [0.0, 1.0] . |
true
if the property was uploaded successfully, false
otherwise. Implemented in render::material_property< T >, render::material_property< float >, and render::material_property< math::vector >.
|
protected |
Definition at line 89 of file material-property.hpp.