22 bool LightingShaderPBRDefaultImplementation::isSupported(
Renderer* renderer) {
42 "shader/" + shaderVersion +
"/lighting/pbr",
43 "render_vertexshader.vert",
45 "#define LIGHT_COUNT " + to_string(
Engine::LIGHTS_MAX) +
"\n#define USE_PUNCTUAL\n#define MATERIAL_METALLICROUGHNESS\n#define USE_IBL\n"
52 "shader/" + shaderVersion +
"/lighting/pbr",
53 "render_fragmentshader.frag",
55 "#define LIGHT_COUNT " + to_string(
Engine::LIGHTS_MAX) +
"\n#define USE_PUNCTUAL\n#define MATERIAL_METALLICROUGHNESS\n#define USE_IBL\n",
56 FileSystem::getInstance()->getContentAsString(
57 "shader/" + shaderVersion +
"/functions/pbr",
58 "tonemapping.inc.glsl"
61 FileSystem::getInstance()->getContentAsString(
62 "shader/" + shaderVersion +
"/functions/pbr",
66 FileSystem::getInstance()->getContentAsString(
67 "shader/" + shaderVersion +
"/functions/pbr",
71 FileSystem::getInstance()->getContentAsString(
72 "shader/" + shaderVersion +
"/functions/pbr",
73 "pbr_lighting.inc.glsl"
static void registerShader(ShaderType type, const string &shaderId, const vector< Shader::ParameterDefaults > ¶meterDefaults={}, bool internal=false)
Register shader.
Lighting shader implementation.
virtual void initialize() override
Initialize renderer.
Lighting shader implementation.
virtual void initialize() override
Initialize renderer.
virtual void registerShader() override
Register shader.
LightingShaderPBRDefaultImplementation(Renderer *renderer)
Public constructor.
virtual const string getId() override
virtual void updateShaderParameters(Renderer *renderer, int contextIdx) override
Update shader parameters.
virtual int32_t loadShader(int32_t type, const string &pathName, const string &fileName, const string &definitions=string(), const string &functions=string())=0
Loads a shader.
int32_t SHADER_FRAGMENT_SHADER
int32_t SHADER_VERTEX_SHADER
virtual int32_t createProgram(int type)=0
Creates a shader program.
virtual bool isPBRAvailable()=0
virtual void attachShaderToProgram(int32_t programId, int32_t shaderId)=0
Attaches a shader to a program.
virtual const string getShaderVersion()=0
File system singleton class.