Luanti 5.11.0-dev
 
Loading...
Searching...
No Matches
shader.h File Reference
#include "irrlichttypes_bloated.h"
#include <IMaterialRendererServices.h>
#include <string>
#include "nodedef.h"
+ Include dependency graph for shader.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ShaderInfo
 
class  IShaderConstantSetter
 
class  IShaderConstantSetterFactory
 
class  CachedShaderSetting< T, count, cache >
 
class  CachedPixelShaderSetting< T, count, cache >
 
class  CachedVertexShaderSetting< T, count, cache >
 
class  CachedStructShaderSetting< T, count, cache, is_pixel >
 
class  IShaderSource
 
class  IWritableShaderSource
 

Namespaces

namespace  irr
 
namespace  irr::video
 

Macros

#define SPECIALIZE(_type, _count_expr)
 

Typedefs

template<typename T , std::size_t count, bool cache = true>
using CachedStructVertexShaderSetting = CachedStructShaderSetting<T, count, cache, false>
 
template<typename T , std::size_t count, bool cache = true>
using CachedStructPixelShaderSetting = CachedStructShaderSetting<T, count, cache, true>
 

Functions

std::string getShaderPath (const std::string &name_of_shader, const std::string &filename)
 
IWritableShaderSourcecreateShaderSource ()
 
void dumpShaderProgram (std::ostream &output_stream, const std::string &program_type, std::string_view program)
 

Macro Definition Documentation

◆ SPECIALIZE

#define SPECIALIZE ( _type,
_count_expr )
Value:
template<typename T2 = T> \
std::enable_if_t<std::is_same_v<T, T2> && std::is_same_v<T2, _type> && (_count_expr)>

Typedef Documentation

◆ CachedStructPixelShaderSetting

template<typename T , std::size_t count, bool cache = true>
using CachedStructPixelShaderSetting = CachedStructShaderSetting<T, count, cache, true>

◆ CachedStructVertexShaderSetting

template<typename T , std::size_t count, bool cache = true>
using CachedStructVertexShaderSetting = CachedStructShaderSetting<T, count, cache, false>

Function Documentation

◆ createShaderSource()

IWritableShaderSource * createShaderSource ( )

Referenced by Game::init(), and ClientLauncher::run().

+ Here is the caller graph for this function:

◆ dumpShaderProgram()

void dumpShaderProgram ( std::ostream & output_stream,
const std::string & program_type,
std::string_view program )

Referenced by ShaderSource::generateShader().

+ Here is the caller graph for this function:

◆ getShaderPath()

std::string getShaderPath ( const std::string & name_of_shader,
const std::string & filename )

References DIR_DELIM, g_settings, g_shadername_to_path_cache, Settings::get(), porting::path_share, and fs::PathExists().

Referenced by ShadowRenderer::createShaders(), SourceShaderCache::getOrLoad(), and SourceShaderCache::insert().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: