summaryrefslogtreecommitdiff
path: root/gfx/gl
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2021-03-03 00:20:21 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2021-03-03 00:20:25 +0000
commit3dbf5028eec53f661a018ddbd969bd26aa7748b5 (patch)
tree2eb0e548461f24397a9f16da8455dd11971061fb /gfx/gl
parentOnly calculate and bind the model transform if the shader program uses it (diff)
downloadilt-3dbf5028eec53f661a018ddbd969bd26aa7748b5.tar.bz2
ilt-3dbf5028eec53f661a018ddbd969bd26aa7748b5.tar.xz
ilt-3dbf5028eec53f661a018ddbd969bd26aa7748b5.zip
Create and use a shader program for things with absolute position
Rails in this case.
Diffstat (limited to 'gfx/gl')
-rw-r--r--gfx/gl/shader.cpp4
-rw-r--r--gfx/gl/shader.h4
2 files changed, 6 insertions, 2 deletions
diff --git a/gfx/gl/shader.cpp b/gfx/gl/shader.cpp
index 3021257..b97d6fc 100644
--- a/gfx/gl/shader.cpp
+++ b/gfx/gl/shader.cpp
@@ -45,6 +45,10 @@ Shader::Shader() :
{
landmassShader_vs.compile(),
landmassShader_fs.compile(),
+ },
+ {
+ landmassShader_vs.compile(),
+ basicShader_fs.compile(),
}}}
{
}
diff --git a/gfx/gl/shader.h b/gfx/gl/shader.h
index f1fe705..8b18e99 100644
--- a/gfx/gl/shader.h
+++ b/gfx/gl/shader.h
@@ -11,7 +11,7 @@ class Location;
class Shader {
public:
- enum class Program { Basic = 0, Water = 1, LandMass = 2 };
+ enum class Program { Basic = 0, Water = 1, LandMass = 2, StaticPos = 3 };
Shader();
@@ -31,7 +31,7 @@ private:
GLint viewProjection_uniform, model_uniform;
};
- std::array<ProgramHandle, 3> programs;
+ std::array<ProgramHandle, 4> programs;
};
#endif