23 bool LightingShaderTreeImplementation::isSupported(
Renderer* renderer) {
43 "shader/" + shaderVersion +
"/lighting/specular",
44 "render_vertexshader.vert",
45 "#define LIGHT_COUNT " + to_string(
Engine::LIGHTS_MAX) +
"\n#define HAVE_TREE\n#define HAVE_DEPTH_FOG",
46 FileSystem::getInstance()->getContentAsString(
47 "shader/" + shaderVersion +
"/functions",
48 "create_rotation_matrix.inc.glsl"
51 FileSystem::getInstance()->getContentAsString(
52 "shader/" + shaderVersion +
"/functions",
53 "create_translation_matrix.inc.glsl"
56 FileSystem::getInstance()->getContentAsString(
57 "shader/" + shaderVersion +
"/functions",
58 "create_tree_transform_matrix.inc.glsl"
66 "shader/" + shaderVersion +
"/lighting/specular",
67 "render_fragmentshader.frag",
69 FileSystem::getInstance()->getContentAsString(
70 "shader/" + shaderVersion +
"/functions/specular",
71 "specular_lighting.inc.glsl"
93 Engine::ShaderType::SHADERTYPE_OBJECT,
static void registerShader(ShaderType type, const string &shaderId, const vector< Shader::ParameterDefaults > ¶meterDefaults={}, bool internal=false)
Register shader.
TDME2 engine entity shader parameters.
Shader parameter model class.
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
LightingShaderTreeImplementation(Renderer *renderer)
Public constructor.
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.
const EntityShaderParameters & getShaderParameters(int contextIdx)
Get shader parameters.
virtual void attachShaderToProgram(int32_t programId, int32_t shaderId)=0
Attaches a shader to a program.
virtual int32_t getProgramUniformLocation(int32_t programId, const string &name)=0
Returns location of given uniform variable.
virtual const string getShaderVersion()=0
virtual void setProgramUniformFloat(int contextIdx, int32_t uniformId, float value)=0
Set up a float uniform value.
File system singleton class.