neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::standard_stipple_shader Class Reference

#include <fragment_shader.hpp>

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

Public Member Functions

 standard_stipple_shader (std::string const &aName="standard_stipple_shader")
 
void generate_code (const i_shader_program &aProgram, shader_language aLanguage, i_string &aOutput) const override
 
bool stipple_active () const final
 
void clear_stipple () final
 
void set_stipple (scalar aFactor, uint16_t aPattern, scalar aPosition=0.0) final
 
void start (const i_rendering_context &aContext, const vec3 &aFrom) final
 
void next (const i_rendering_context &aContext, const vec3 &aFrom, scalar aPositionOffset) final
 
- Public Member Functions inherited from neogfx::standard_fragment_shader< i_stipple_shader >
 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

Definition at line 185 of file fragment_shader.hpp.

Constructor & Destructor Documentation

◆ standard_stipple_shader()

neogfx::standard_stipple_shader::standard_stipple_shader ( std::string const &  aName = "standard_stipple_shader")

Member Function Documentation

◆ clear_stipple()

void neogfx::standard_stipple_shader::clear_stipple ( )
final

◆ generate_code()

void neogfx::standard_stipple_shader::generate_code ( const i_shader_program aProgram,
shader_language  aLanguage,
i_string aOutput 
) const
override

◆ next()

void neogfx::standard_stipple_shader::next ( const i_rendering_context aContext,
const vec3 aFrom,
scalar  aPositionOffset 
)
final

◆ set_stipple()

void neogfx::standard_stipple_shader::set_stipple ( scalar  aFactor,
uint16_t  aPattern,
scalar  aPosition = 0.0 
)
final

◆ start()

void neogfx::standard_stipple_shader::start ( const i_rendering_context aContext,
const vec3 aFrom 
)
final

◆ stipple_active()

bool neogfx::standard_stipple_shader::stipple_active ( ) const
final

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