Antkeeper  0.0.1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
render::material_property_base Class Referenceabstract

Abstract base class for material properties. More...

#include <material-property.hpp>

Inheritance diagram for render::material_property_base:
render::material_property< float > render::material_property< math::vector > render::material_property< T >

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_baseclone () const =0
 Creates a copy of this material property. More...
 

Protected Member Functions

 material_property_base ()
 

Protected Attributes

const gl::shader_inputinput
 

Detailed Description

Abstract base class for material properties.

Definition at line 42 of file material-property.hpp.

Constructor & Destructor Documentation

◆ material_property_base()

render::material_property_base::material_property_base ( )
protected

Definition at line 25 of file material-property.cpp.

Member Function Documentation

◆ clone()

virtual material_property_base* render::material_property_base::clone ( ) const
pure virtual

◆ connect()

bool render::material_property_base::connect ( const gl::shader_input input)

Connects the material property to a shader input.

Parameters
inputShader input to which the material property should be connected.
Returns
true if the property was connected to the input successfully, false otherwise.

Definition at line 29 of file material-property.cpp.

◆ disconnect()

void render::material_property_base::disconnect ( )

Disconnects the material property from its shader input.

Definition at line 41 of file material-property.cpp.

◆ get_data_type()

virtual gl::shader_variable_type render::material_property_base::get_data_type ( ) const
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 >.

◆ is_connected()

bool render::material_property_base::is_connected ( ) const
inline

Returns true if the material property is connected to a shader input, false otherwise.

Definition at line 92 of file material-property.hpp.

◆ update_tweens()

virtual void render::material_property_base::update_tweens ( )
pure virtual

◆ upload()

virtual bool render::material_property_base::upload ( double  a) const
pure virtual

Uploads the material property to its shader program.

Parameters
aInterpolation factor. Should be on [0.0, 1.0].
Returns
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 >.

Member Data Documentation

◆ input

const gl::shader_input* render::material_property_base::input
protected

Definition at line 89 of file material-property.hpp.


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