1#ifndef PGR_SEM_COPAKOND_SHADER_H
2#define PGR_SEM_COPAKOND_SHADER_H
4#define WORLD_AMBIENT glm::vec3(0.25f, 0.25f, 0.25f)
15 float _totalTime = 0.0f;
76 GLuint
init(std::string vertShaderLocation, std::string fragShaderLocation);
86 void draw(
Mesh &mesh,
bool drawTransparent,
float deltaTime);
Camera for generating view and projection matrices.
Definition camera.h:20
Base class for scene lighting calculations.
Definition light.h:23
Base drawable 3D object containing geometry and material data.
Definition mesh.h:19
GLuint _useSpecularMapUID
Definition shader.h:46
GLuint _normalMapUID
Definition shader.h:43
GLint _fogStart
Definition shader.h:29
GLuint _diffuseMapUID
Definition shader.h:39
glm::mat4 _viewM
Definition shader.h:58
GLint _fogEnabled
Definition shader.h:28
GLint _fogEnd
Definition shader.h:30
void setLight(Light *light, int lightIndex)
Definition shader.cpp:64
GLuint _useNormalMapUID
Definition shader.h:49
glm::vec3 _position
Definition shader.h:60
GLint _numLights
Definition shader.h:55
static glm::vec3 getWorldAmbient()
Definition shader.h:65
GLuint _isTextLabelUID
Definition shader.h:51
GLint _alpha
Definition shader.h:37
void applyMaterialUniforms(std::shared_ptr< Material > mat)
Binds material properties and active textures to the shader pipeline.
Definition shader.cpp:126
GLuint _isVertexWaveUID
Definition shader.h:52
size_t totalNumLights
Definition shader.h:56
GLint _viewUID
Definition shader.h:22
GLint _specular
Definition shader.h:35
glm::mat4 _projectionM
Definition shader.h:59
GLuint _shininessMapUID
Definition shader.h:41
GLint _shininess
Definition shader.h:36
GLuint _specularMapUID
Definition shader.h:40
GLuint _useShininessMapUID
Definition shader.h:47
GLint _normalMatrix
Definition shader.h:26
void update(Camera &camera, int winWidth, int winHeight, float deltaTime)
Updates global shader uniforms (Camera, Fog, Time).
Definition shader.cpp:103
GLuint _useDiffuseMapUID
Definition shader.h:45
GLint _camPos
Definition shader.h:25
GLint _modelUID
Definition shader.h:21
GLuint _worldAmbientUID
Definition shader.h:19
GLuint _shaderProgram
Definition shader.h:17
GLint _pvmUID
Definition shader.h:24
GLint _projectionUID
Definition shader.h:23
GLuint _timeUID
Definition shader.h:53
GLint _fogColor
Definition shader.h:31
void updateLight(Light *light)
Definition shader.cpp:86
Shader()
Definition shader.cpp:7
GLint _ambient
Definition shader.h:33
GLuint _useAlphaMapUID
Definition shader.h:48
GLuint _alphaMapUID
Definition shader.h:42
GLint _diffuse
Definition shader.h:34
PGR Semestral work with sample scenes and bowling. doxygen was generated with a help of LLM.
Definition bezier.cpp:3
int winHeight
Definition main.cpp:35
int winWidth
Definition main.cpp:34
void init()
Initializes OpenGL context, scene data, and sets up GLUT callbacks.
Definition main.cpp:42
void draw()
Main render loop. Handles updates, physics, and rendering of all scene elements.
Definition main.cpp:97
#define WORLD_AMBIENT
Definition shader.h:4