neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::standard_fragment_shader< Base > Class Template Reference

#include <fragment_shader.hpp>

Inheritance diagram for neogfx::standard_fragment_shader< Base >:
neogfx::fragment_shader< Base > neogfx::shader< Base > neolib::reference_counted< Base, DeallocateOnRelease >

Public Member Functions

 standard_fragment_shader (std::string const &aName="standard_fragment_shader")
 
bool supports (vertex_buffer_type aBufferType) const override
 
void generate_code (const i_shader_program &aProgram, shader_language aLanguage, i_string &aOutput) const override
 
- Public Member Functions inherited from neogfx::fragment_shader< Base >
 fragment_shader (std::string const &aName)
 
- Public Member Functions inherited from neogfx::shader< Base >
 shader (shader_type aType, std::string const &aName, bool aEnabled=true)
 
 ~shader ()
 
shader_type type () const final
 
const i_stringname () 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_listin_variables () const final
 
const variable_listout_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_countedoperator= (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_blockcontrol_block () override
 

Additional Inherited Members

- Public Types inherited from neogfx::shader< Base >
typedef i_shader::value_type abstract_value_type
 
typedef shader_value_type value_type
 
- Protected Types inherited from neogfx::shader< Base >
typedef neolib::jar< shader_uniform > uniform_list
 
typedef neolib::set< shader_variable > variable_list
 
- Protected Member Functions inherited from neogfx::shader< Base >
uniform_listuniforms ()
 
variable_listin_variables ()
 
variable_listout_variables ()
 

Detailed Description

template<typename Base = i_fragment_shader>
class neogfx::standard_fragment_shader< Base >

Definition at line 48 of file fragment_shader.hpp.

Constructor & Destructor Documentation

◆ standard_fragment_shader()

template<typename Base = i_fragment_shader>
neogfx::standard_fragment_shader< Base >::standard_fragment_shader ( std::string const &  aName = "standard_fragment_shader< Base >")
inline

Definition at line 55 of file fragment_shader.hpp.

Member Function Documentation

◆ generate_code()

template<typename Base = i_fragment_shader>
void neogfx::standard_fragment_shader< Base >::generate_code ( const i_shader_program aProgram,
shader_language  aLanguage,
i_string aOutput 
) const
inlineoverride

Definition at line 85 of file fragment_shader.hpp.

◆ supports()

template<typename Base = i_fragment_shader>
bool neogfx::standard_fragment_shader< Base >::supports ( vertex_buffer_type  aBufferType) const
inlineoverride

Definition at line 74 of file fragment_shader.hpp.


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