diff options
Diffstat (limited to 'gfx/gl/sceneShader.h')
-rw-r--r-- | gfx/gl/sceneShader.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gfx/gl/sceneShader.h b/gfx/gl/sceneShader.h index 99431f1..62df9bf 100644 --- a/gfx/gl/sceneShader.h +++ b/gfx/gl/sceneShader.h @@ -1,6 +1,7 @@ #pragma once #include "program.h" +#include <glArrays.h> class Location; @@ -47,12 +48,26 @@ class SceneShader { RequiredUniformLocation waveLoc; }; + class PointLightShader : public SceneProgram { + public: + PointLightShader(); + + void add(const glm::vec3 & position, const glm::vec3 & colour, const float kq) const; + + private: + UniformLocation colourLoc; + UniformLocation kqLoc; + glVertexArray va; + glBuffer b; + }; + public: SceneShader(); BasicProgram basic; WaterProgram water; AbsolutePosProgram landmass, absolute; + PointLightShader pointLight; void setViewProjection(const glm::mat4 & viewProjection) const; void setViewPort(const glm::ivec4 & viewPort) const; |