Luanti 5.16.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, bool skinning=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.

◆ addShaderUniformSetterFactory()

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

Implemented in ShaderSource.

Referenced by 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.

◆ rebuildShaders()

virtual void IWritableShaderSource::rebuildShaders ( )
pure virtual

Implemented in ShaderSource.


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