diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2025-02-25 00:23:11 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2025-02-25 00:23:11 +0000 |
commit | f9962b0db5072870864a1f758687106139f740dc (patch) | |
tree | ae1b05395de5c07164151ef7fc7de202be19b9f0 /gfx/gl/sceneShader.h | |
parent | Add VertexArrayObject::data for an external existing buffer (diff) | |
download | ilt-main.tar.bz2 ilt-main.tar.xz ilt-main.zip |
Creates mesh per surface based on a single buffer of all vertices and a collection of per surfuce indices.
Makes ColourBias a uniform instead of a vertex attribute.
Diffstat (limited to 'gfx/gl/sceneShader.h')
-rw-r--r-- | gfx/gl/sceneShader.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gfx/gl/sceneShader.h b/gfx/gl/sceneShader.h index 51f0e21..47d4397 100644 --- a/gfx/gl/sceneShader.h +++ b/gfx/gl/sceneShader.h @@ -50,6 +50,15 @@ class SceneShader { RequiredUniformLocation profileLengthLoc {*this, "profileLength"}; }; + class LandmassProgram : public AbsolutePosProgram { + public: + using AbsolutePosProgram::AbsolutePosProgram; + void use(const glm::vec3) const; + + private: + RequiredUniformLocation colourBiasLos {*this, "colourBias"}; + }; + class WaterProgram : public SceneProgram { public: WaterProgram(); @@ -64,7 +73,8 @@ public: BasicProgram basic; WaterProgram water; - AbsolutePosProgram basicInst, landmass, absolute, spotLightInst, pointLightInst; + AbsolutePosProgram basicInst, absolute, spotLightInst, pointLightInst; + LandmassProgram landmass; NetworkProgram networkStraight, networkCurve; void setViewProjection(const GlobalPosition3D & viewPoint, const glm::mat4 & viewProjection) const; |