21 bool LightingShaderSolidImplementation::isSupported(
Renderer* renderer) {
41 "shader/" + shaderVersion +
"/lighting/specular",
42 "render_vertexshader.vert",
43 "#define LIGHT_COUNT " + to_string(
Engine::LIGHTS_MAX) +
"\n#define HAVE_SOLID_SHADING"
50 "shader/" + shaderVersion +
"/lighting/specular",
51 "render_fragmentshader.frag",
52 "#define LIGHT_COUNT " + to_string(
Engine::LIGHTS_MAX) +
"\n#define HAVE_SOLID_SHADING",
53 FileSystem::getInstance()->getContentAsString(
54 "shader/" + shaderVersion +
"/functions/specular",
55 "specular_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.
virtual const string getId() override
virtual void updateShaderParameters(Renderer *renderer, int contextIdx) override
Update shader parameters.
LightingShaderSolidImplementation(Renderer *renderer)
Public constructor.
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 void attachShaderToProgram(int32_t programId, int32_t shaderId)=0
Attaches a shader to a program.
virtual const string getShaderVersion()=0
File system singleton class.