diff options
Diffstat (limited to 'gfx/gl/shaders')
| -rw-r--r-- | gfx/gl/shaders/commonShadowPoint.geom (renamed from gfx/gl/shaders/commonShadowPoint.gs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/directionalLight.frag (renamed from gfx/gl/shaders/directionalLight.fs) | 5 | ||||
| -rw-r--r-- | gfx/gl/shaders/dynamicPoint.vert (renamed from gfx/gl/shaders/dynamicPoint.vs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/dynamicPointInst.vert (renamed from gfx/gl/shaders/dynamicPointInst.vs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/fixedPoint.vert (renamed from gfx/gl/shaders/fixedPoint.vs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/landmass.frag (renamed from gfx/gl/shaders/landmass.fs) | 2 | ||||
| -rw-r--r-- | gfx/gl/shaders/landmass.vert (renamed from gfx/gl/shaders/landmass.vs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/lighting.frag (renamed from gfx/gl/shaders/lighting.fs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/lighting.vert (renamed from gfx/gl/shaders/lighting.vs) | 2 | ||||
| -rw-r--r-- | gfx/gl/shaders/material.frag (renamed from gfx/gl/shaders/material.fs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/materialCommon.glsl | 2 | ||||
| -rw-r--r-- | gfx/gl/shaders/materialInterface.glsl | 2 | ||||
| -rw-r--r-- | gfx/gl/shaders/network.frag (renamed from gfx/gl/shaders/network.fs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/networkCommon.glsl | 10 | ||||
| -rw-r--r-- | gfx/gl/shaders/networkCurve.geom | 17 | ||||
| -rw-r--r-- | gfx/gl/shaders/networkCurve.gs | 47 | ||||
| -rw-r--r-- | gfx/gl/shaders/networkCurve.tesc | 37 | ||||
| -rw-r--r-- | gfx/gl/shaders/networkCurve.tese | 45 | ||||
| -rw-r--r-- | gfx/gl/shaders/networkCurve.vert | 23 | ||||
| -rw-r--r-- | gfx/gl/shaders/networkCurve.vs | 29 | ||||
| -rw-r--r-- | gfx/gl/shaders/networkStraight.geom (renamed from gfx/gl/shaders/networkStraight.gs) | 12 | ||||
| -rw-r--r-- | gfx/gl/shaders/networkStraight.vert (renamed from gfx/gl/shaders/networkStraight.vs) | 13 | ||||
| -rw-r--r-- | gfx/gl/shaders/pointLight.frag (renamed from gfx/gl/shaders/pointLight.fs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/pointLight.geom (renamed from gfx/gl/shaders/pointLight.gs) | 4 | ||||
| -rw-r--r-- | gfx/gl/shaders/pointLight.vert (renamed from gfx/gl/shaders/pointLight.vs) | 2 | ||||
| -rw-r--r-- | gfx/gl/shaders/shadowDynamicPoint.vert (renamed from gfx/gl/shaders/shadowDynamicPoint.vs) | 2 | ||||
| -rw-r--r-- | gfx/gl/shaders/shadowDynamicPointInst.vert (renamed from gfx/gl/shaders/shadowDynamicPointInst.vs) | 2 | ||||
| -rw-r--r-- | gfx/gl/shaders/shadowDynamicPointInstWithTextures.frag (renamed from gfx/gl/shaders/shadowDynamicPointInstWithTextures.fs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/shadowDynamicPointInstWithTextures.geom | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/shadowDynamicPointInstWithTextures.gs | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/shadowDynamicPointInstWithTextures.vert (renamed from gfx/gl/shaders/shadowDynamicPointInstWithTextures.vs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/shadowDynamicPointStencil.frag (renamed from gfx/gl/shaders/shadowDynamicPointStencil.fs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/shadowDynamicPointStencil.geom (renamed from gfx/gl/shaders/shadowDynamicPointStencil.gs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/shadowDynamicPointStencil.vert (renamed from gfx/gl/shaders/shadowDynamicPointStencil.vs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/shadowLandmass.vert (renamed from gfx/gl/shaders/shadowLandmass.vs) | 2 | ||||
| -rw-r--r-- | gfx/gl/shaders/shadowStencil.frag (renamed from gfx/gl/shaders/shadowStencil.fs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/shadowStencil.geom (renamed from gfx/gl/shaders/shadowStencil.gs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/shadowStencil.vert (renamed from gfx/gl/shaders/shadowStencil.vs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/spotLight.frag (renamed from gfx/gl/shaders/spotLight.fs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/spotLight.geom (renamed from gfx/gl/shaders/spotLight.gs) | 4 | ||||
| -rw-r--r-- | gfx/gl/shaders/spotLight.vert (renamed from gfx/gl/shaders/spotLight.vs) | 2 | ||||
| -rw-r--r-- | gfx/gl/shaders/uiShader.fs | 11 | ||||
| -rw-r--r-- | gfx/gl/shaders/uiShader.vs | 13 | ||||
| -rw-r--r-- | gfx/gl/shaders/uiShaderFont.fs | 12 | ||||
| -rw-r--r-- | gfx/gl/shaders/water.frag (renamed from gfx/gl/shaders/water.fs) | 3 | ||||
| -rw-r--r-- | gfx/gl/shaders/water.vert (renamed from gfx/gl/shaders/water.vs) | 2 |
46 files changed, 177 insertions, 188 deletions
diff --git a/gfx/gl/shaders/commonShadowPoint.gs b/gfx/gl/shaders/commonShadowPoint.geom index 2413cc0..a515d97 100644 --- a/gfx/gl/shaders/commonShadowPoint.gs +++ b/gfx/gl/shaders/commonShadowPoint.geom @@ -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.frag index cdf0389..e5ebfb0 100644 --- a/gfx/gl/shaders/directionalLight.fs +++ b/gfx/gl/shaders/directionalLight.frag @@ -1,5 +1,4 @@ -#version 330 core -#extension GL_ARB_shading_language_420pack : enable +#version 460 core const int MAX_MAPS = 4; @@ -48,7 +47,7 @@ isShaded(vec4 Position) return getShadow(positionInLightSpace, m, texelSize); } } - return 1; + return 1.0; } void diff --git a/gfx/gl/shaders/dynamicPoint.vs b/gfx/gl/shaders/dynamicPoint.vert index 97d2983..cd5fc26 100644 --- a/gfx/gl/shaders/dynamicPoint.vs +++ b/gfx/gl/shaders/dynamicPoint.vert @@ -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.vert index a85f9c9..46fead9 100644 --- a/gfx/gl/shaders/dynamicPointInst.vs +++ b/gfx/gl/shaders/dynamicPointInst.vert @@ -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.vert index 435b3d1..9201251 100644 --- a/gfx/gl/shaders/fixedPoint.vs +++ b/gfx/gl/shaders/fixedPoint.vert @@ -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.frag index 382260e..b5c7fa1 100644 --- a/gfx/gl/shaders/landmass.fs +++ b/gfx/gl/shaders/landmass.frag @@ -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.vert index 44cb879..91fc7f8 100644 --- a/gfx/gl/shaders/landmass.vs +++ b/gfx/gl/shaders/landmass.vert @@ -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.frag index 4646b75..b5c6c8b 100644 --- a/gfx/gl/shaders/lighting.fs +++ b/gfx/gl/shaders/lighting.frag @@ -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.vert index e07cd0a..1046379 100644 --- a/gfx/gl/shaders/lighting.vs +++ b/gfx/gl/shaders/lighting.vert @@ -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.frag index 37f2e27..18a3169 100644 --- a/gfx/gl/shaders/material.fs +++ b/gfx/gl/shaders/material.frag @@ -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/materialCommon.glsl b/gfx/gl/shaders/materialCommon.glsl index 3fe2237..4c2fbf8 100644 --- a/gfx/gl/shaders/materialCommon.glsl +++ b/gfx/gl/shaders/materialCommon.glsl @@ -13,7 +13,7 @@ map(uint mapmode, float value) discard; } } - return 0; + return 0.0; } vec2 diff --git a/gfx/gl/shaders/materialInterface.glsl b/gfx/gl/shaders/materialInterface.glsl index f2ca297..bf78290 100644 --- a/gfx/gl/shaders/materialInterface.glsl +++ b/gfx/gl/shaders/materialInterface.glsl @@ -1,6 +1,6 @@ include(`materialDetail.glsl') -define(INOUT, ifelse(TYPE, .fs, in, out)); +define(INOUT, ifelse(TYPE, .frag, in, out)) INOUT vec3 FragPos; INOUT vec2 TexCoords; diff --git a/gfx/gl/shaders/network.fs b/gfx/gl/shaders/network.frag index 4e347b4..2f291ea 100644 --- a/gfx/gl/shaders/network.fs +++ b/gfx/gl/shaders/network.frag @@ -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/networkCommon.glsl b/gfx/gl/shaders/networkCommon.glsl index 0bc3c1c..7aa911d 100644 --- a/gfx/gl/shaders/networkCommon.glsl +++ b/gfx/gl/shaders/networkCommon.glsl @@ -12,13 +12,19 @@ out vec2 texCoord; out vec3 rposition; float +viewPointDist(const ivec3 position) +{ + return length(vec3(viewPoint - position)); +} + +float segDist(const ivec3 a, const ivec3 b) { - return min(distance(viewPoint, a), distance(viewPoint, b)); + return min(viewPointDist(a), viewPointDist(b)); } ifelse( - TYPE, .gs, + TYPE, .geom, // Begin: Geometry shader only function void doVertex(const ivec3 end, const uint v, const float texY, const mat2 rot) { ivec3 vpos = end + ivec3(rot * profile[v].xy, profile[v].z); diff --git a/gfx/gl/shaders/networkCurve.geom b/gfx/gl/shaders/networkCurve.geom new file mode 100644 index 0000000..4a5b3db --- /dev/null +++ b/gfx/gl/shaders/networkCurve.geom @@ -0,0 +1,17 @@ +#version 460 core + +layout(lines) in; +layout(triangle_strip, max_vertices = 10) out; + +flat in ivec3 pos[]; +flat in mat2 rot[]; +flat in float tpos[]; +flat in float dist[]; + +include(`networkCommon.glsl') + +void +main() +{ + doSeg(min(dist[0], dist[1]), pos[0], pos[1], tpos[0], tpos[1], rot[0], rot[1]); +} diff --git a/gfx/gl/shaders/networkCurve.gs b/gfx/gl/shaders/networkCurve.gs deleted file mode 100644 index 7cb6c42..0000000 --- a/gfx/gl/shaders/networkCurve.gs +++ /dev/null @@ -1,47 +0,0 @@ -#version 330 core - -flat in ivec3 apos[]; -flat in ivec3 bpos[]; -flat in ivec3 cpos[]; -flat in float reps[]; -flat in float aangle[]; -flat in float bangle[]; -flat in float radius[]; - -layout(points) in; -layout(triangle_strip, max_vertices = GL_MAX_GEOMETRY_OUTPUT_VERTICES) out; - -const mat2 rot = mat2(1); - -include(`networkCommon.glsl') - -mat2 -getRot(float angle) -{ - return mat2(cos(angle), sin(angle), -sin(angle), cos(angle)); -} - -void -main() -{ - float segs = clamp( - round(reps[0] * radius[0] / 1000), 4, floor(uint(GL_MAX_GEOMETRY_OUTPUT_VERTICES) / (profileLength * 2u))); - vec3 arcstep = vec3((bangle[0] - aangle[0]), // angle - reps[0], // texture - (bpos[0].z - apos[0].z)) // height - / segs; - - ivec3 prevPos = apos[0]; - mat2 prevRot = getRot(aangle[0]); - float prevTex = 0; - for (vec3 arc = arcstep; arc.y < reps[0] - 0.01; arc += arcstep) { - mat2 rot = getRot(arc.x + aangle[0]); - ivec3 pos = cpos[0] + ivec3(rot * vec2(radius[0], 0), arc.z); - float tex = arc.y; - doSeg(segDist(prevPos, pos), pos, prevPos, tex, prevTex, rot, prevRot); - prevPos = pos; - prevRot = rot; - prevTex = tex; - } - doSeg(segDist(prevPos, bpos[0]), bpos[0], prevPos, reps[0], prevTex, getRot(bangle[0]), prevRot); -} diff --git a/gfx/gl/shaders/networkCurve.tesc b/gfx/gl/shaders/networkCurve.tesc new file mode 100644 index 0000000..5a6e449 --- /dev/null +++ b/gfx/gl/shaders/networkCurve.tesc @@ -0,0 +1,37 @@ +#version 460 core + +layout(vertices = 1) out; + +flat in ivec3 pos[][2]; +flat in ivec2 cpos[]; +flat in float reps[]; +flat in float angles[][2]; +flat in float radius[]; + +flat out ivec3 c_pos[][2]; +flat out ivec2 c_cpos[]; +flat out float c_reps[]; +flat out float c_angles[][2]; +flat out float c_radius[]; + +float +segments() +{ + const float arc = angles[gl_InvocationID][0] - angles[gl_InvocationID][1]; + const float error = 100.; + const float diff = acos(1.f - (error / radius[gl_InvocationID])); + return clamp(arc / diff, arc, 180); +} + +void +main() +{ + c_pos[gl_InvocationID] = pos[gl_InvocationID]; + c_cpos[gl_InvocationID] = cpos[gl_InvocationID]; + c_reps[gl_InvocationID] = reps[gl_InvocationID]; + c_angles[gl_InvocationID] = angles[gl_InvocationID]; + c_radius[gl_InvocationID] = radius[gl_InvocationID]; + + gl_TessLevelOuter[0] = 1; + gl_TessLevelOuter[1] = segments(); +} diff --git a/gfx/gl/shaders/networkCurve.tese b/gfx/gl/shaders/networkCurve.tese new file mode 100644 index 0000000..9cc31e2 --- /dev/null +++ b/gfx/gl/shaders/networkCurve.tese @@ -0,0 +1,45 @@ +#version 460 core + +layout(isolines, equal_spacing, cw) in; + +flat in ivec3 c_pos[][2]; +flat in ivec2 c_cpos[]; +flat in float c_reps[]; +flat in float c_angles[][2]; +flat in float c_radius[]; + +flat out ivec3 pos; +flat out mat2 rot; +flat out float tpos; +flat out float dist; + +const float startTolerance = 1. / 200.; +const float endTolerance = 1. - startTolerance; + +include(`networkCommon.glsl') + +mat2 +getRot(float angle) +{ + return mat2(cos(angle), sin(angle), -sin(angle), cos(angle)); +} + +void +main() +{ + const float angle = mix(c_angles[0][1], c_angles[0][0], gl_TessCoord.x); + rot = getRot(angle); + if (gl_TessCoord.x < startTolerance) { + pos = c_pos[0][1]; + } + else if (gl_TessCoord.x > endTolerance) { + pos = c_pos[0][0]; + } + else { + const int height = int(mix(c_pos[0][1].z, c_pos[0][0].z, gl_TessCoord.x)); + pos = ivec3(c_cpos[0] + ivec2(rot * vec2(c_radius[0], 0)), height); + } + + tpos = c_reps[0] * gl_TessCoord.x; + dist = viewPointDist(pos); +} diff --git a/gfx/gl/shaders/networkCurve.vert b/gfx/gl/shaders/networkCurve.vert new file mode 100644 index 0000000..7e363d3 --- /dev/null +++ b/gfx/gl/shaders/networkCurve.vert @@ -0,0 +1,23 @@ +#version 460 core + +layout(location = 0) in ivec3 v_pos[2]; +layout(location = 2) in ivec3 v_centre; +layout(location = 3) in float v_reps; +layout(location = 4) in float v_angles[2]; +layout(location = 6) in float v_radius; + +flat out ivec3 pos[2]; +flat out ivec2 cpos; +flat out float reps; +flat out float angles[2]; +flat out float radius; + +void +main() +{ + pos = v_pos; + cpos = v_centre.xy; + reps = v_reps; + angles = v_angles; + radius = v_radius; +} diff --git a/gfx/gl/shaders/networkCurve.vs b/gfx/gl/shaders/networkCurve.vs deleted file mode 100644 index f51bb87..0000000 --- a/gfx/gl/shaders/networkCurve.vs +++ /dev/null @@ -1,29 +0,0 @@ -#version 330 core - -layout(location = 0) in ivec3 v_apos; -layout(location = 1) in ivec3 v_bpos; -layout(location = 2) in ivec3 v_centre; -layout(location = 3) in float v_reps; -layout(location = 4) in float v_aangle; -layout(location = 5) in float v_bangle; -layout(location = 6) in float v_radius; - -flat out ivec3 apos; -flat out ivec3 bpos; -flat out ivec3 cpos; -flat out float reps; -flat out float aangle; -flat out float bangle; -flat out float radius; - -void -main() -{ - apos = v_apos; - bpos = v_bpos; - cpos = v_centre; - reps = v_reps; - aangle = v_aangle; - bangle = v_bangle; - radius = v_radius; -} diff --git a/gfx/gl/shaders/networkStraight.gs b/gfx/gl/shaders/networkStraight.geom index 51df5fb..a0e57c8 100644 --- a/gfx/gl/shaders/networkStraight.gs +++ b/gfx/gl/shaders/networkStraight.geom @@ -1,17 +1,17 @@ -#version 330 core +#version 460 core -flat in ivec3 apos[]; -flat in ivec3 bpos[]; +layout(points) in; +layout(triangle_strip, max_vertices = 10) out; + +flat in ivec3 pos[][2]; flat in mat2 rot[]; flat in float reps[]; flat in float dist[]; -layout(points) in; -layout(triangle_strip, max_vertices = 10) out; include(`networkCommon.glsl') void main() { - doSeg(dist[0], apos[0], bpos[0], 0.f, reps[0], rot[0], rot[0]); + doSeg(dist[0], pos[0][0], pos[0][1], 0.f, reps[0], rot[0], rot[0]); } diff --git a/gfx/gl/shaders/networkStraight.vs b/gfx/gl/shaders/networkStraight.vert index 55f9c4f..91ba955 100644 --- a/gfx/gl/shaders/networkStraight.vs +++ b/gfx/gl/shaders/networkStraight.vert @@ -1,12 +1,10 @@ -#version 330 core +#version 460 core -layout(location = 0) in ivec3 v_apos; -layout(location = 1) in ivec3 v_bpos; +layout(location = 0) in ivec3 v_pos[2]; layout(location = 2) in mat2 v_rot; layout(location = 4) in float v_reps; -flat out ivec3 apos; -flat out ivec3 bpos; +flat out ivec3 pos[2]; flat out mat2 rot; flat out float reps; flat out float dist; @@ -16,9 +14,8 @@ include(`networkCommon.glsl') void main() { - apos = v_apos; - bpos = v_bpos; + pos = v_pos; rot = v_rot; reps = v_reps; - dist = segDist(v_apos, v_bpos); + dist = segDist(v_pos[0], v_pos[1]); } diff --git a/gfx/gl/shaders/pointLight.fs b/gfx/gl/shaders/pointLight.frag index 7531d3e..bb2c453 100644 --- a/gfx/gl/shaders/pointLight.fs +++ b/gfx/gl/shaders/pointLight.frag @@ -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.geom index fc1d7c3..1ee7e06 100644 --- a/gfx/gl/shaders/pointLight.gs +++ b/gfx/gl/shaders/pointLight.geom @@ -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.vert index fbd031c..2fd5418 100644 --- a/gfx/gl/shaders/pointLight.vs +++ b/gfx/gl/shaders/pointLight.vert @@ -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.vert index 7335b9a..907378e 100644 --- a/gfx/gl/shaders/shadowDynamicPoint.vs +++ b/gfx/gl/shaders/shadowDynamicPoint.vert @@ -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.vert index d0eb649..da4a76f 100644 --- a/gfx/gl/shaders/shadowDynamicPointInst.vs +++ b/gfx/gl/shaders/shadowDynamicPointInst.vert @@ -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.frag index 47ce9c0..cad9d9d 100644 --- a/gfx/gl/shaders/shadowDynamicPointInstWithTextures.fs +++ b/gfx/gl/shaders/shadowDynamicPointInstWithTextures.frag @@ -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.geom b/gfx/gl/shaders/shadowDynamicPointInstWithTextures.geom new file mode 100644 index 0000000..3aaf9a8 --- /dev/null +++ b/gfx/gl/shaders/shadowDynamicPointInstWithTextures.geom @@ -0,0 +1,3 @@ +define(`TEXTURES', 1) + +include(`commonShadowPoint.geom') diff --git a/gfx/gl/shaders/shadowDynamicPointInstWithTextures.gs b/gfx/gl/shaders/shadowDynamicPointInstWithTextures.gs deleted file mode 100644 index e6e213e..0000000 --- a/gfx/gl/shaders/shadowDynamicPointInstWithTextures.gs +++ /dev/null @@ -1,3 +0,0 @@ -define(`TEXTURES', 1) - -include(`commonShadowPoint.gs') diff --git a/gfx/gl/shaders/shadowDynamicPointInstWithTextures.vs b/gfx/gl/shaders/shadowDynamicPointInstWithTextures.vert index a76c87f..41a47b0 100644 --- a/gfx/gl/shaders/shadowDynamicPointInstWithTextures.vs +++ b/gfx/gl/shaders/shadowDynamicPointInstWithTextures.vert @@ -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.frag index fe91b07..d6b8a0e 100644 --- a/gfx/gl/shaders/shadowDynamicPointStencil.fs +++ b/gfx/gl/shaders/shadowDynamicPointStencil.frag @@ -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.geom index 7e81d97..df8be8d 100644 --- a/gfx/gl/shaders/shadowDynamicPointStencil.gs +++ b/gfx/gl/shaders/shadowDynamicPointStencil.geom @@ -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.vert index 0dd2d79..b750b3e 100644 --- a/gfx/gl/shaders/shadowDynamicPointStencil.vs +++ b/gfx/gl/shaders/shadowDynamicPointStencil.vert @@ -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.vert index becf142..cf68fe5 100644 --- a/gfx/gl/shaders/shadowLandmass.vs +++ b/gfx/gl/shaders/shadowLandmass.vert @@ -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.frag index 1164cc9..3269f69 100644 --- a/gfx/gl/shaders/shadowStencil.fs +++ b/gfx/gl/shaders/shadowStencil.frag @@ -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.geom index 2c3f9bd..53a4c19 100644 --- a/gfx/gl/shaders/shadowStencil.gs +++ b/gfx/gl/shaders/shadowStencil.geom @@ -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.vert index a15c4fb..e6286e6 100644 --- a/gfx/gl/shaders/shadowStencil.vs +++ b/gfx/gl/shaders/shadowStencil.vert @@ -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.frag index ad33458..1305dbd 100644 --- a/gfx/gl/shaders/spotLight.fs +++ b/gfx/gl/shaders/spotLight.frag @@ -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.geom index 194812a..fec191e 100644 --- a/gfx/gl/shaders/spotLight.gs +++ b/gfx/gl/shaders/spotLight.geom @@ -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.vert index e0196c3..36d2ee5 100644 --- a/gfx/gl/shaders/spotLight.vs +++ b/gfx/gl/shaders/spotLight.vert @@ -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/uiShader.fs b/gfx/gl/shaders/uiShader.fs deleted file mode 100644 index c5f4e92..0000000 --- a/gfx/gl/shaders/uiShader.fs +++ /dev/null @@ -1,11 +0,0 @@ -#version 330 core - -in vec2 texCoord0; - -uniform sampler2D sampler; - -void -main() -{ - gl_FragColor = texture(sampler, texCoord0); -} diff --git a/gfx/gl/shaders/uiShader.vs b/gfx/gl/shaders/uiShader.vs deleted file mode 100644 index e9e4373..0000000 --- a/gfx/gl/shaders/uiShader.vs +++ /dev/null @@ -1,13 +0,0 @@ -#version 330 core - -in vec4 position; - -out vec2 texCoord0; -uniform mat4 uiProjection; - -void -main() -{ - gl_Position = uiProjection * vec4(position.xy, 0.0, 1.0); - texCoord0 = position.zw; -} diff --git a/gfx/gl/shaders/uiShaderFont.fs b/gfx/gl/shaders/uiShaderFont.fs deleted file mode 100644 index a1ef6ef..0000000 --- a/gfx/gl/shaders/uiShaderFont.fs +++ /dev/null @@ -1,12 +0,0 @@ -#version 330 core - -in vec2 texCoord0; - -uniform sampler2D sampler; -uniform vec3 colour; - -void -main() -{ - gl_FragColor = vec4(colour, texture(sampler, texCoord0).r); -} diff --git a/gfx/gl/shaders/water.fs b/gfx/gl/shaders/water.frag index 0918d9f..a09e754 100644 --- a/gfx/gl/shaders/water.fs +++ b/gfx/gl/shaders/water.frag @@ -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.vert index 58bf7b6..60e4fb8 100644 --- a/gfx/gl/shaders/water.vs +++ b/gfx/gl/shaders/water.vert @@ -1,4 +1,4 @@ -#version 330 core +#version 460 core layout(location = 0) in ivec3 position; out vec3 FragPos; |
