#include <fstream>
#include <iterator>
#include "shader.h"
#include "irrlichttypes_extrabloated.h"
#include "irr_ptr.h"
#include "debug.h"
#include "filesys.h"
#include "util/container.h"
#include "util/thread.h"
#include "settings.h"
#include <ICameraSceneNode.h>
#include <IGPUProgrammingServices.h>
#include <IMaterialRenderer.h>
#include <IMaterialRendererServices.h>
#include <IShaderConstantSetCallBack.h>
#include "client/renderingengine.h"
#include <EShaderTypes.h>
#include "gettext.h"
#include "log.h"
#include "gamedef.h"
#include "client/tile.h"
#include "config.h"
#include <mt_opengl.h>
Classes | |
class | SourceShaderCache |
class | ShaderCallback |
class | MainShaderConstantSetter |
class | MainShaderConstantSetterFactory |
class | ShaderSource |
Macros | |
#define | PROVIDE(constant) shaders_header << "#define " #constant " " << (int)constant << "\n" |
Functions | |
std::string | getShaderPath (const std::string &name_of_shader, const std::string &filename) |
IWritableShaderSource * | createShaderSource () |
void | dumpShaderProgram (std::ostream &output_stream, const std::string &program_type, std::string_view program) |
Variables | |
static MutexedMap< std::string, std::string > | g_shadername_to_path_cache |
#define PROVIDE | ( | constant | ) | shaders_header << "#define " #constant " " << (int)constant << "\n" |
Referenced by ShaderSource::generateShader().
IWritableShaderSource * createShaderSource | ( | ) |
void dumpShaderProgram | ( | std::ostream & | output_stream, |
const std::string & | program_type, | ||
std::string_view | program ) |
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().
|
static |
Referenced by getShaderPath().