Luanti 5.15.0-dev
 
Loading...
Searching...
No Matches
IWritableShaderSource Class Referenceabstract

#include <shader.h>

+ Inheritance diagram for IWritableShaderSource:
+ Collaboration diagram for IWritableShaderSource:

Public Member Functions

 IWritableShaderSource ()=default
 
virtual ~IWritableShaderSource ()=default
 
virtual void processQueue ()=0
 
virtual void insertSourceShader (const std::string &name_of_shader, const std::string &filename, const std::string &program)=0
 
virtual void rebuildShaders ()=0
 
virtual void addShaderConstantSetter (std::unique_ptr< IShaderConstantSetter > setter)=0
 
virtual void addShaderUniformSetterFactory (std::unique_ptr< IShaderUniformSetterFactory > setter)=0
 
- Public Member Functions inherited from IShaderSource
 IShaderSource ()=default
 
virtual ~IShaderSource ()=default
 
virtual const ShaderInfogetShaderInfo (u32 id)=0
 returns information about an existing shader
 
virtual u32 getShader (const std::string &name, const ShaderConstants &input_const, video::E_MATERIAL_TYPE base_mat, IShaderUniformSetterRC *setter_cb=nullptr)=0
 Generates or gets a shader.
 
u32 getShader (const std::string &name, MaterialType material_type, NodeDrawType drawtype=NDT_NORMAL, bool array_texture=false)
 Helper: Generates or gets a shader suitable for nodes and entities.
 
u32 getShaderRaw (const std::string &name, bool blendAlpha=false)
 Helper: Generates or gets a shader for common, general use.
 
virtual bool supportsSampler2DArray () const =0
 Returns true if 'sampler2DArray' is supported in GLSL.
 

Constructor & Destructor Documentation

◆ IWritableShaderSource()

IWritableShaderSource::IWritableShaderSource ( )
default

◆ ~IWritableShaderSource()

virtual IWritableShaderSource::~IWritableShaderSource ( )
virtualdefault

Member Function Documentation

◆ addShaderConstantSetter()

virtual void IWritableShaderSource::addShaderConstantSetter ( std::unique_ptr< IShaderConstantSetter > setter)
pure virtual
Note
Takes ownership of setter.

Implemented in ShaderSource.

Referenced by Game::createClient().

+ Here is the caller graph for this function:

◆ addShaderUniformSetterFactory()

virtual void IWritableShaderSource::addShaderUniformSetterFactory ( std::unique_ptr< IShaderUniformSetterFactory > setter)
pure virtual
Note
Takes ownership of setter.

Implemented in ShaderSource.

Referenced by Game::createClient(), and ShadowRenderer::preInit().

+ Here is the caller graph for this function:

◆ insertSourceShader()

virtual void IWritableShaderSource::insertSourceShader ( const std::string & name_of_shader,
const std::string & filename,
const std::string & program )
pure virtual

Implemented in ShaderSource.

◆ processQueue()

virtual void IWritableShaderSource::processQueue ( )
pure virtual

Implemented in ShaderSource.

Referenced by Game::processQueues(), and Game::shutdown().

+ Here is the caller graph for this function:

◆ rebuildShaders()

virtual void IWritableShaderSource::rebuildShaders ( )
pure virtual

Implemented in ShaderSource.

Referenced by Client::afterContentReceived().

+ Here is the caller graph for this function:

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