4 #include <unordered_map>
14 using std::unordered_map;
32 unordered_map<string, ShadowMapCreationShaderImplementation*>
shaders;
36 vector<ShadowMapCreationShaderContext>
contexts;
103 void bindTexture(
int contextIdx, int32_t textureId);
110 void setShader(
int contextIdx,
const string&
id);
Shadow mapping shader to create a shadow map.
void initialize()
Init shadow map creation shader program.
void updateMatrices(int contextIdx)
Set up matrices.
void useProgram(Engine *engine)
Use shadow map creation shader program.
void setShader(int contextIdx, const string &id)
Set shader.
void updateTextureMatrix(int contextIdx)
Set up texture matrix.
void updateShaderParameters(int contextIdx)
Update shader parameters.
void updateMaterial(int contextIdx)
Update material.
ShadowMapCreationShader(Renderer *renderer)
Constructor.
unordered_map< string, ShadowMapCreationShaderImplementation * > shaders
void bindTexture(int contextIdx, int32_t textureId)
Bind texture.
void loadTextures(const string &pathName)
Load textures.
void unUseProgram()
Unuse shadow map creation shader program.
~ShadowMapCreationShader()
Destructor.
vector< ShadowMapCreationShaderContext > contexts
Matrix4x4 class representing matrix4x4 mathematical structure and operations for 3d space.
Pre shadow mapping shader for create shadow map.
ShadowMapCreationShaderImplementation * implementation
#define FORBID_CLASS_COPY(CLASS)