99 virtual void loadTextures(
const string& pathName)
override;
Lighting shader implementation.
int32_t uniformMetallicRoughnessSamplerAvailable
virtual void loadTextures(const string &pathName) override
Load textures.
int32_t uniformViewProjectionMatrix
virtual void updateLight(Renderer *renderer, int contextIdx, int32_t lightId) override
Update light to program.
virtual void updateTextureMatrix(Renderer *renderer, int contextIdx) override
Update texture matrix to program.
virtual void updateMaterial(Renderer *renderer, int contextIdx) override
Update material to program.
int32_t uniformBaseColorFactor
int32_t textureDiffuseEnvSampler
int32_t uniformBaseColorSampler
int32_t uniformNormalScale
virtual void updateMatrices(Renderer *renderer, int contextIdx) override
Update matrices to program.
array< int32_t, Engine::LIGHTS_MAX > uniformLightColor
virtual void initialize() override
Initialize renderer.
int32_t textureSpecularEnvSampler
array< int32_t, Engine::LIGHTS_MAX > uniformLightOuterConeCos
virtual bool isInitialized() override
int32_t uniformMetallicRoughnessSampler
int32_t uniformDiffuseEnvSampler
array< int32_t, Engine::LIGHTS_MAX > uniformLightAmbient
virtual void unloadTextures() override
Unload textures.
virtual void bindTexture(Renderer *renderer, int contextIdx, int32_t textureId) override
Bind texture.
virtual void updateEffect(Renderer *renderer, int contextIdx) override
Update effect to program.
int32_t uniformSpecularEnvSampler
array< Texture *, 6 > envSpecularTextures
virtual void unUseProgram(int contextIdx) override
Unuse lighting program.
array< int32_t, Engine::LIGHTS_MAX > uniformLightRange
int32_t uniformMetallicFactor
virtual void useProgram(Engine *engine, int contextIdx) override
Use lighting program.
int32_t uniformEmissiveFactor
virtual void updateShaderParameters(Renderer *renderer, int contextIdx) override=0
Update shader parameters.
array< int32_t, Engine::LIGHTS_MAX > uniformLightType
int32_t uniformBaseColorSamplerAvailable
int32_t uniformEmissiveSampler
int32_t uniformAlphaCutoffEnabled
array< int32_t, Engine::LIGHTS_MAX > uniformLightPosition
array< int32_t, Engine::LIGHTS_MAX > uniformLightEnabled
array< Texture *, 6 > envDiffuseTextures
int32_t uniformNormalSampler
int32_t uniformRoughnessFactor
int32_t uniformEmissiveSamplerAvailable
array< int32_t, Engine::LIGHTS_MAX > uniformLightInnerConeCos
int32_t uniformAlphaCutoff
array< int32_t, Engine::LIGHTS_MAX > uniformLightDirection
array< int32_t, Engine::LIGHTS_MAX > uniformLightIntensity
LightingShaderPBRBaseImplementation(Renderer *renderer)
Public constructor.
int32_t uniformNormalSamplerAvailable
Matrix4x4 class representing matrix4x4 mathematical structure and operations for 3d space.
Lighting shader constants.
Lighting shader implementation interface.
#define FORBID_CLASS_COPY(CLASS)