summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2026-01-29 18:24:58 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2026-01-29 18:24:58 +0000
commit89ee29561e14372155f0bf13bd7de7c4485b6fcf (patch)
tree65f33e14fae3270610b573e61930afa7734f6605
parentFix search/replace of GL_* macros in glsl (diff)
downloadilt-89ee29561e14372155f0bf13bd7de7c4485b6fcf.tar.bz2
ilt-89ee29561e14372155f0bf13bd7de7c4485b6fcf.tar.xz
ilt-89ee29561e14372155f0bf13bd7de7c4485b6fcf.zip
Update OpenGL context and shaders to v4.6
Note: doesn't remove/replace older functions where newer ones might be better.
-rw-r--r--gfx/gl/shaders/commonShadowPoint.gs3
-rw-r--r--gfx/gl/shaders/directionalLight.fs3
-rw-r--r--gfx/gl/shaders/dynamicPoint.vs3
-rw-r--r--gfx/gl/shaders/dynamicPointInst.vs3
-rw-r--r--gfx/gl/shaders/fixedPoint.vs3
-rw-r--r--gfx/gl/shaders/landmass.fs2
-rw-r--r--gfx/gl/shaders/landmass.vs3
-rw-r--r--gfx/gl/shaders/lighting.fs3
-rw-r--r--gfx/gl/shaders/lighting.vs2
-rw-r--r--gfx/gl/shaders/material.fs3
-rw-r--r--gfx/gl/shaders/network.fs3
-rw-r--r--gfx/gl/shaders/networkCurve.gs2
-rw-r--r--gfx/gl/shaders/networkCurve.vs2
-rw-r--r--gfx/gl/shaders/networkStraight.gs2
-rw-r--r--gfx/gl/shaders/networkStraight.vs2
-rw-r--r--gfx/gl/shaders/pointLight.fs3
-rw-r--r--gfx/gl/shaders/pointLight.gs4
-rw-r--r--gfx/gl/shaders/pointLight.vs2
-rw-r--r--gfx/gl/shaders/shadowDynamicPoint.vs2
-rw-r--r--gfx/gl/shaders/shadowDynamicPointInst.vs2
-rw-r--r--gfx/gl/shaders/shadowDynamicPointInstWithTextures.fs3
-rw-r--r--gfx/gl/shaders/shadowDynamicPointInstWithTextures.vs3
-rw-r--r--gfx/gl/shaders/shadowDynamicPointStencil.fs3
-rw-r--r--gfx/gl/shaders/shadowDynamicPointStencil.gs3
-rw-r--r--gfx/gl/shaders/shadowDynamicPointStencil.vs3
-rw-r--r--gfx/gl/shaders/shadowLandmass.vs2
-rw-r--r--gfx/gl/shaders/shadowStencil.fs3
-rw-r--r--gfx/gl/shaders/shadowStencil.gs3
-rw-r--r--gfx/gl/shaders/shadowStencil.vs3
-rw-r--r--gfx/gl/shaders/spotLight.fs3
-rw-r--r--gfx/gl/shaders/spotLight.gs4
-rw-r--r--gfx/gl/shaders/spotLight.vs2
-rw-r--r--gfx/gl/shaders/water.fs3
-rw-r--r--gfx/gl/shaders/water.vs2
-rw-r--r--thirdparty/Jamfile.jam2
-rw-r--r--ui/applicationBase.cpp4
36 files changed, 37 insertions, 61 deletions
diff --git a/gfx/gl/shaders/commonShadowPoint.gs b/gfx/gl/shaders/commonShadowPoint.gs
index 2413cc0..a515d97 100644
--- a/gfx/gl/shaders/commonShadowPoint.gs
+++ b/gfx/gl/shaders/commonShadowPoint.gs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_viewport_array : enable
+#version 460 core
ifdef(`TEXTURES', include(`materialDetail.glsl'))
diff --git a/gfx/gl/shaders/directionalLight.fs b/gfx/gl/shaders/directionalLight.fs
index 7ee3452..e5ebfb0 100644
--- a/gfx/gl/shaders/directionalLight.fs
+++ b/gfx/gl/shaders/directionalLight.fs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
const int MAX_MAPS = 4;
diff --git a/gfx/gl/shaders/dynamicPoint.vs b/gfx/gl/shaders/dynamicPoint.vs
index 97d2983..cd5fc26 100644
--- a/gfx/gl/shaders/dynamicPoint.vs
+++ b/gfx/gl/shaders/dynamicPoint.vs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
layout(binding = 1) uniform usampler2DRect materialData;
diff --git a/gfx/gl/shaders/dynamicPointInst.vs b/gfx/gl/shaders/dynamicPointInst.vs
index a85f9c9..46fead9 100644
--- a/gfx/gl/shaders/dynamicPointInst.vs
+++ b/gfx/gl/shaders/dynamicPointInst.vs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
layout(binding = 1) uniform usampler2DRect materialData;
diff --git a/gfx/gl/shaders/fixedPoint.vs b/gfx/gl/shaders/fixedPoint.vs
index 435b3d1..9201251 100644
--- a/gfx/gl/shaders/fixedPoint.vs
+++ b/gfx/gl/shaders/fixedPoint.vs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
layout(binding = 1) uniform usampler2DRect materialData;
diff --git a/gfx/gl/shaders/landmass.fs b/gfx/gl/shaders/landmass.fs
index 382260e..b5c7fa1 100644
--- a/gfx/gl/shaders/landmass.fs
+++ b/gfx/gl/shaders/landmass.fs
@@ -1,4 +1,4 @@
-#version 330 core
+#version 460 core
include(`materialOut.glsl')
in vec3 FragPos;
diff --git a/gfx/gl/shaders/landmass.vs b/gfx/gl/shaders/landmass.vs
index 44cb879..91fc7f8 100644
--- a/gfx/gl/shaders/landmass.vs
+++ b/gfx/gl/shaders/landmass.vs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
layout(location = 0) in ivec3 position;
layout(location = 1) in vec3 normal;
diff --git a/gfx/gl/shaders/lighting.fs b/gfx/gl/shaders/lighting.fs
index 4646b75..b5c6c8b 100644
--- a/gfx/gl/shaders/lighting.fs
+++ b/gfx/gl/shaders/lighting.fs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
out vec3 FragColor;
diff --git a/gfx/gl/shaders/lighting.vs b/gfx/gl/shaders/lighting.vs
index e07cd0a..1046379 100644
--- a/gfx/gl/shaders/lighting.vs
+++ b/gfx/gl/shaders/lighting.vs
@@ -1,4 +1,4 @@
-#version 330 core
+#version 460 core
in ivec4 position;
diff --git a/gfx/gl/shaders/material.fs b/gfx/gl/shaders/material.fs
index 37f2e27..18a3169 100644
--- a/gfx/gl/shaders/material.fs
+++ b/gfx/gl/shaders/material.fs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
layout(binding = 0) uniform sampler2D textureAlbedo;
diff --git a/gfx/gl/shaders/network.fs b/gfx/gl/shaders/network.fs
index 4e347b4..2f291ea 100644
--- a/gfx/gl/shaders/network.fs
+++ b/gfx/gl/shaders/network.fs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
include(`materialOut.glsl')
in vec3 rposition;
diff --git a/gfx/gl/shaders/networkCurve.gs b/gfx/gl/shaders/networkCurve.gs
index ba93542..15a6ec9 100644
--- a/gfx/gl/shaders/networkCurve.gs
+++ b/gfx/gl/shaders/networkCurve.gs
@@ -1,4 +1,4 @@
-#version 330 core
+#version 460 core
flat in ivec3 apos[];
flat in ivec3 bpos[];
diff --git a/gfx/gl/shaders/networkCurve.vs b/gfx/gl/shaders/networkCurve.vs
index f51bb87..9cf149b 100644
--- a/gfx/gl/shaders/networkCurve.vs
+++ b/gfx/gl/shaders/networkCurve.vs
@@ -1,4 +1,4 @@
-#version 330 core
+#version 460 core
layout(location = 0) in ivec3 v_apos;
layout(location = 1) in ivec3 v_bpos;
diff --git a/gfx/gl/shaders/networkStraight.gs b/gfx/gl/shaders/networkStraight.gs
index 51df5fb..6abcecb 100644
--- a/gfx/gl/shaders/networkStraight.gs
+++ b/gfx/gl/shaders/networkStraight.gs
@@ -1,4 +1,4 @@
-#version 330 core
+#version 460 core
flat in ivec3 apos[];
flat in ivec3 bpos[];
diff --git a/gfx/gl/shaders/networkStraight.vs b/gfx/gl/shaders/networkStraight.vs
index 55f9c4f..2834613 100644
--- a/gfx/gl/shaders/networkStraight.vs
+++ b/gfx/gl/shaders/networkStraight.vs
@@ -1,4 +1,4 @@
-#version 330 core
+#version 460 core
layout(location = 0) in ivec3 v_apos;
layout(location = 1) in ivec3 v_bpos;
diff --git a/gfx/gl/shaders/pointLight.fs b/gfx/gl/shaders/pointLight.fs
index 7531d3e..bb2c453 100644
--- a/gfx/gl/shaders/pointLight.fs
+++ b/gfx/gl/shaders/pointLight.fs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
out vec3 FragColor;
diff --git a/gfx/gl/shaders/pointLight.gs b/gfx/gl/shaders/pointLight.gs
index fc1d7c3..1ee7e06 100644
--- a/gfx/gl/shaders/pointLight.gs
+++ b/gfx/gl/shaders/pointLight.gs
@@ -1,6 +1,4 @@
-#version 330 core
-#extension GL_ARB_enhanced_layouts : enable
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
const vec3[] cube = vec3[]( // http://www.cs.umd.edu/gvil/papers/av_ts.pdf
vec3(-1, 1, 1), // Front-top-left
diff --git a/gfx/gl/shaders/pointLight.vs b/gfx/gl/shaders/pointLight.vs
index fbd031c..2fd5418 100644
--- a/gfx/gl/shaders/pointLight.vs
+++ b/gfx/gl/shaders/pointLight.vs
@@ -1,4 +1,4 @@
-#version 330 core
+#version 460 core
layout(location = 0) in vec3 v_position;
layout(location = 1) in vec3 v_colour;
diff --git a/gfx/gl/shaders/shadowDynamicPoint.vs b/gfx/gl/shaders/shadowDynamicPoint.vs
index 7335b9a..907378e 100644
--- a/gfx/gl/shaders/shadowDynamicPoint.vs
+++ b/gfx/gl/shaders/shadowDynamicPoint.vs
@@ -1,4 +1,4 @@
-#version 330 core
+#version 460 core
include(`meshIn.glsl')
diff --git a/gfx/gl/shaders/shadowDynamicPointInst.vs b/gfx/gl/shaders/shadowDynamicPointInst.vs
index d0eb649..da4a76f 100644
--- a/gfx/gl/shaders/shadowDynamicPointInst.vs
+++ b/gfx/gl/shaders/shadowDynamicPointInst.vs
@@ -1,4 +1,4 @@
-#version 330 core
+#version 460 core
include(`meshIn.glsl')
diff --git a/gfx/gl/shaders/shadowDynamicPointInstWithTextures.fs b/gfx/gl/shaders/shadowDynamicPointInstWithTextures.fs
index 47ce9c0..cad9d9d 100644
--- a/gfx/gl/shaders/shadowDynamicPointInstWithTextures.fs
+++ b/gfx/gl/shaders/shadowDynamicPointInstWithTextures.fs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
layout(binding = 3) uniform sampler2D textureAlbedo;
diff --git a/gfx/gl/shaders/shadowDynamicPointInstWithTextures.vs b/gfx/gl/shaders/shadowDynamicPointInstWithTextures.vs
index a76c87f..41a47b0 100644
--- a/gfx/gl/shaders/shadowDynamicPointInstWithTextures.vs
+++ b/gfx/gl/shaders/shadowDynamicPointInstWithTextures.vs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
layout(binding = 4) uniform usampler2DRect materialData;
diff --git a/gfx/gl/shaders/shadowDynamicPointStencil.fs b/gfx/gl/shaders/shadowDynamicPointStencil.fs
index fe91b07..d6b8a0e 100644
--- a/gfx/gl/shaders/shadowDynamicPointStencil.fs
+++ b/gfx/gl/shaders/shadowDynamicPointStencil.fs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
layout(binding = 0) uniform sampler2DArray stencilDepth;
flat in vec3 scale;
diff --git a/gfx/gl/shaders/shadowDynamicPointStencil.gs b/gfx/gl/shaders/shadowDynamicPointStencil.gs
index 7e81d97..df8be8d 100644
--- a/gfx/gl/shaders/shadowDynamicPointStencil.gs
+++ b/gfx/gl/shaders/shadowDynamicPointStencil.gs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_viewport_array : enable
+#version 460 core
const vec2[] corners = vec2[4](vec2(-1, -1), vec2(-1, 1), vec2(1, -1), vec2(1, 1));
const float tau = 6.28318531;
diff --git a/gfx/gl/shaders/shadowDynamicPointStencil.vs b/gfx/gl/shaders/shadowDynamicPointStencil.vs
index 0dd2d79..b750b3e 100644
--- a/gfx/gl/shaders/shadowDynamicPointStencil.vs
+++ b/gfx/gl/shaders/shadowDynamicPointStencil.vs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
layout(location = 0) in ivec3 worldPos;
layout(location = 1) in float modelYaw;
diff --git a/gfx/gl/shaders/shadowLandmass.vs b/gfx/gl/shaders/shadowLandmass.vs
index becf142..cf68fe5 100644
--- a/gfx/gl/shaders/shadowLandmass.vs
+++ b/gfx/gl/shaders/shadowLandmass.vs
@@ -1,4 +1,4 @@
-#version 330 core
+#version 460 core
layout(location = 0) in ivec3 position;
diff --git a/gfx/gl/shaders/shadowStencil.fs b/gfx/gl/shaders/shadowStencil.fs
index 1164cc9..3269f69 100644
--- a/gfx/gl/shaders/shadowStencil.fs
+++ b/gfx/gl/shaders/shadowStencil.fs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
layout(binding = 0) uniform sampler2D textureAlbedo;
diff --git a/gfx/gl/shaders/shadowStencil.gs b/gfx/gl/shaders/shadowStencil.gs
index 2c3f9bd..53a4c19 100644
--- a/gfx/gl/shaders/shadowStencil.gs
+++ b/gfx/gl/shaders/shadowStencil.gs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_viewport_array : enable
+#version 460 core
include(`materialDetail.glsl')
diff --git a/gfx/gl/shaders/shadowStencil.vs b/gfx/gl/shaders/shadowStencil.vs
index a15c4fb..e6286e6 100644
--- a/gfx/gl/shaders/shadowStencil.vs
+++ b/gfx/gl/shaders/shadowStencil.vs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
layout(binding = 1) uniform usampler2DRect materialData;
diff --git a/gfx/gl/shaders/spotLight.fs b/gfx/gl/shaders/spotLight.fs
index ad33458..1305dbd 100644
--- a/gfx/gl/shaders/spotLight.fs
+++ b/gfx/gl/shaders/spotLight.fs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
out vec3 FragColor;
diff --git a/gfx/gl/shaders/spotLight.gs b/gfx/gl/shaders/spotLight.gs
index 194812a..fec191e 100644
--- a/gfx/gl/shaders/spotLight.gs
+++ b/gfx/gl/shaders/spotLight.gs
@@ -1,6 +1,4 @@
-#version 330 core
-#extension GL_ARB_enhanced_layouts : enable
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
const vec3[] pyramid = vec3[]( // four-sided
vec3(0, 0, 0), // Apex
diff --git a/gfx/gl/shaders/spotLight.vs b/gfx/gl/shaders/spotLight.vs
index e0196c3..36d2ee5 100644
--- a/gfx/gl/shaders/spotLight.vs
+++ b/gfx/gl/shaders/spotLight.vs
@@ -1,4 +1,4 @@
-#version 330 core
+#version 460 core
layout(location = 0) in vec3 v_position;
layout(location = 1) in vec3 v_direction;
diff --git a/gfx/gl/shaders/water.fs b/gfx/gl/shaders/water.fs
index 0918d9f..a09e754 100644
--- a/gfx/gl/shaders/water.fs
+++ b/gfx/gl/shaders/water.fs
@@ -1,5 +1,4 @@
-#version 330 core
-#extension GL_ARB_shading_language_420pack : enable
+#version 460 core
in vec3 FragPos;
in vec2 TexCoords;
diff --git a/gfx/gl/shaders/water.vs b/gfx/gl/shaders/water.vs
index 58bf7b6..60e4fb8 100644
--- a/gfx/gl/shaders/water.vs
+++ b/gfx/gl/shaders/water.vs
@@ -1,4 +1,4 @@
-#version 330 core
+#version 460 core
layout(location = 0) in ivec3 position;
out vec3 FragPos;
diff --git a/thirdparty/Jamfile.jam b/thirdparty/Jamfile.jam
index eed903c..468e6a0 100644
--- a/thirdparty/Jamfile.jam
+++ b/thirdparty/Jamfile.jam
@@ -7,7 +7,7 @@ project ilt.thirdparty : requirements
import glad ;
lib glad : gl.xml :
- <glad.version>3.3
+ <glad.version>4.6
;
lib stb : stb_image.c ;
diff --git a/ui/applicationBase.cpp b/ui/applicationBase.cpp
index 6daffbe..c9748e7 100644
--- a/ui/applicationBase.cpp
+++ b/ui/applicationBase.cpp
@@ -29,8 +29,8 @@ ApplicationBase::initSDL() const
setGlAttribute(SDL_GL_DEPTH_SIZE, 16);
setGlAttribute(SDL_GL_DOUBLEBUFFER, 1);
- setGlAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
- setGlAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
+ setGlAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 4);
+ setGlAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 6);
setGlAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
setGlAttribute(SDL_GL_SHARE_WITH_CURRENT_CONTEXT, 1);
}