summaryrefslogtreecommitdiff
path: root/gfx/gl/sceneShader.h
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/gl/sceneShader.h')
-rw-r--r--gfx/gl/sceneShader.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/gfx/gl/sceneShader.h b/gfx/gl/sceneShader.h
index 47d4397..faba4a4 100644
--- a/gfx/gl/sceneShader.h
+++ b/gfx/gl/sceneShader.h
@@ -32,6 +32,17 @@ class SceneShader {
RequiredUniformLocation modelPosLoc {*this, "modelPos"};
};
+ class BillboardProgram : public SceneProgram {
+ public:
+ BillboardProgram();
+
+ void use(RelativeDistance size, RelativePosition3D centre) const;
+
+ private:
+ RequiredUniformLocation sizeLoc {*this, "size"};
+ RequiredUniformLocation centreLoc {*this, "centre"};
+ };
+
class AbsolutePosProgram : public SceneProgram {
public:
using Program::use;
@@ -74,6 +85,7 @@ public:
BasicProgram basic;
WaterProgram water;
AbsolutePosProgram basicInst, absolute, spotLightInst, pointLightInst;
+ BillboardProgram billboard;
LandmassProgram landmass;
NetworkProgram networkStraight, networkCurve;