neoGFX
Cross-platform C++ app/game engine
|
#include <shader.hpp>
Classes | |
class | cached_uniform |
Public Types | |
typedef i_shader::value_type | abstract_value_type |
typedef shader_value_type | value_type |
Public Member Functions | |
shader (shader_type aType, std::string const &aName, bool aEnabled=true) | |
~shader () | |
shader_type | type () const final |
const i_string & | name () const final |
bool | supports (vertex_buffer_type aBufferType) const override |
void * | handle (const i_shader_program &aProgram) const final |
bool | enabled () const final |
bool | disabled () const final |
void | enable () final |
void | disable () final |
bool | dirty () const final |
void | set_dirty () final |
void | set_clean () final |
bool | uniforms_changed () const final |
const i_shader::uniform_list & | uniforms () const final |
bool | has_shared_uniforms () const final |
void | clear_uniform (shader_uniform_id aUniform) final |
shader_uniform_id | create_uniform (const i_string &aName, bool aShared=false) final |
shader_uniform_id | find_uniform (const i_string &aName) const final |
void | set_uniform (shader_uniform_id aUniform, const abstract_value_type &aValue) final |
void | clear_uniform_storage (shader_uniform_id aUniform) final |
void | update_uniform_storage (shader_uniform_id aUniform, shader_uniform_storage aStorage) final |
void | clear_uniform_location (shader_uniform_id aUniform) final |
void | update_uniform_location (shader_uniform_id aUniform, shader_uniform_location aLocation) final |
const variable_list & | in_variables () const final |
const variable_list & | out_variables () const final |
void | clear_variable (const i_string &aName) final |
i_shader_variable & | add_variable (const i_shader_variable &aVariable) final |
void | prepare_uniforms (const i_rendering_context &, i_shader_program &) override |
void | generate_code (const i_shader_program &aProgram, shader_language aLanguage, i_string &aOutput) const override |
void | generate_invoke (const i_shader_program &aProgram, shader_language aLanguage, i_string &aInvokes) const final |
Public Member Functions inherited from neolib::reference_counted< Base, DeallocateOnRelease > | |
reference_counted () noexcept | |
reference_counted (const reference_counted &aOther) noexcept | |
~reference_counted () | |
reference_counted & | operator= (const reference_counted &) |
void | add_ref () const noexcept override |
void | release () const override |
int32_t | use_count () const noexcept override |
const base_type * | release_and_take_ownership () const override |
base_type * | release_and_take_ownership () override |
void | pin () const noexcept override |
void | unpin () const override |
i_ref_control_block & | control_block () override |
Protected Types | |
typedef neolib::jar< shader_uniform > | uniform_list |
typedef neolib::set< shader_variable > | variable_list |
Protected Member Functions | |
uniform_list & | uniforms () |
variable_list & | in_variables () |
variable_list & | out_variables () |
Definition at line 36 of file shader.hpp.
typedef i_shader::value_type neogfx::shader< Base >::abstract_value_type |
Definition at line 42 of file shader.hpp.
|
protected |
Definition at line 45 of file shader.hpp.
typedef shader_value_type neogfx::shader< Base >::value_type |
Definition at line 43 of file shader.hpp.
|
protected |
Definition at line 46 of file shader.hpp.
|
inline |
Definition at line 84 of file shader.hpp.
|
inline |
Definition at line 92 of file shader.hpp.
|
inlinefinal |
Definition at line 247 of file shader.hpp.
|
inlinefinal |
Definition at line 180 of file shader.hpp.
|
inlinefinal |
Definition at line 216 of file shader.hpp.
|
inlinefinal |
Definition at line 208 of file shader.hpp.
|
inlinefinal |
Definition at line 232 of file shader.hpp.
|
inlinefinal |
Definition at line 185 of file shader.hpp.
|
inlinefinal |
Definition at line 144 of file shader.hpp.
|
inlinefinal |
Definition at line 136 of file shader.hpp.
|
inlinefinal |
Definition at line 124 of file shader.hpp.
|
inlinefinal |
Definition at line 128 of file shader.hpp.
|
inlinefinal |
Definition at line 120 of file shader.hpp.
|
inlinefinal |
Definition at line 193 of file shader.hpp.
|
inlineoverride |
Definition at line 267 of file shader.hpp.
|
inlinefinal |
Definition at line 368 of file shader.hpp.
|
inlinefinal |
Definition at line 110 of file shader.hpp.
|
inlinefinal |
Definition at line 170 of file shader.hpp.
|
inlineprotected |
Definition at line 383 of file shader.hpp.
|
inlinefinal |
Definition at line 224 of file shader.hpp.
|
inlinefinal |
Definition at line 102 of file shader.hpp.
|
inlineprotected |
Definition at line 387 of file shader.hpp.
|
inlinefinal |
Definition at line 228 of file shader.hpp.
|
inlineoverride |
Definition at line 264 of file shader.hpp.
|
inlinefinal |
Definition at line 154 of file shader.hpp.
|
inlinefinal |
Definition at line 148 of file shader.hpp.
|
inlinefinal |
Definition at line 201 of file shader.hpp.
|
inlineoverride |
Definition at line 106 of file shader.hpp.
|
inlinefinal |
Definition at line 98 of file shader.hpp.
|
inlineprotected |
Definition at line 175 of file shader.hpp.
|
inlinefinal |
Definition at line 166 of file shader.hpp.
|
inlinefinal |
Definition at line 158 of file shader.hpp.
|
inlinefinal |
Definition at line 220 of file shader.hpp.
|
inlinefinal |
Definition at line 212 of file shader.hpp.