Skip to content

Commit 7497518

Browse files
committed
Cleaned up bloom shader unfirom orders.
1 parent a654851 commit 7497518

File tree

4 files changed

+22
-28
lines changed

4 files changed

+22
-28
lines changed

Nu/Nu.Gaia/Assets/Default/FilterBloomComposite.glsl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ out vec4 FragColor;
1919

2020
in vec2 TexCoords;
2121

22-
uniform sampler2D scene;
23-
uniform sampler2D bloomBlur;
2422
uniform float bloomStrength = 0.04f;
23+
uniform sampler2D bloomBlur;
24+
uniform sampler2D scene;
2525

2626
void main()
2727
{

Nu/Nu/OpenGL/OpenGL.Filter.fs

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -47,24 +47,22 @@ module Filter =
4747

4848
/// Describes a bloom down-sampling filter shader that's loaded into GPU.
4949
type FilterBloomDownSampleShader =
50-
{ srcTextureUniform : int
51-
srcResolutionUniform : int
50+
{ srcResolutionUniform : int
5251
mipLevelUniform : int
52+
srcTextureUniform : int
5353
FilterBloomDownSampleShader : uint }
5454

5555
/// Describes a bloom up-sampling filter shader that's loaded into GPU.
5656
type FilterBloomUpSampleShader =
57-
{ srcTextureUniform : int
58-
filterRadiusUniform : int
57+
{ filterRadiusUniform : int
58+
srcTextureUniform : int
5959
FilterBloomUpSampleShader : uint }
6060

6161
/// Describes a bloom composite filter shader that's loaded into GPU.
6262
type FilterBloomCompositeShader =
63-
{ sceneUniform : int
63+
{ bloomStrengthUniform : int
6464
bloomBlurUniform : int
65-
exposureUniform : int
66-
bloomStrengthUniform : int
67-
programChoiceUniform : int
65+
sceneUniform : int
6866
FilterBloomCompositeShader : uint }
6967

7068
/// Describes an fxaa shader that's loaded into GPU.
@@ -186,9 +184,9 @@ module Filter =
186184
let mipLevelUniform = Gl.GetUniformLocation (shader, "mipLevel")
187185

188186
// make shader record
189-
{ srcTextureUniform = srcTextureUniform
190-
srcResolutionUniform = srcResolutionUniform
187+
{ srcResolutionUniform = srcResolutionUniform
191188
mipLevelUniform = mipLevelUniform
189+
srcTextureUniform = srcTextureUniform
192190
FilterBloomDownSampleShader = shader }
193191

194192
/// Create a filter bloom up-sample shader.
@@ -203,8 +201,8 @@ module Filter =
203201
let filterRadiusUniform = Gl.GetUniformLocation (shader, "filterRadius")
204202

205203
// make shader record
206-
{ srcTextureUniform = srcTextureUniform
207-
filterRadiusUniform = filterRadiusUniform
204+
{ filterRadiusUniform = filterRadiusUniform
205+
srcTextureUniform = srcTextureUniform
208206
FilterBloomUpSampleShader = shader }
209207

210208
/// Create a filter bloom composite shader.
@@ -215,18 +213,14 @@ module Filter =
215213
Hl.Assert ()
216214

217215
// retrieve uniforms
218-
let sceneUniform = Gl.GetUniformLocation (shader, "scene")
219-
let bloomBlurUniform = Gl.GetUniformLocation (shader, "bloomBlur")
220-
let exposureUniform = Gl.GetUniformLocation (shader, "exposure")
221216
let bloomStrengthUniform = Gl.GetUniformLocation (shader, "bloomStrength")
222-
let programChoiceUniform = Gl.GetUniformLocation (shader, "programChoice")
217+
let bloomBlurUniform = Gl.GetUniformLocation (shader, "bloomBlur")
218+
let sceneUniform = Gl.GetUniformLocation (shader, "scene")
223219

224220
// make shader record
225-
{ sceneUniform = sceneUniform
221+
{ bloomStrengthUniform = bloomStrengthUniform
226222
bloomBlurUniform = bloomBlurUniform
227-
exposureUniform = exposureUniform
228-
bloomStrengthUniform = bloomStrengthUniform
229-
programChoiceUniform = programChoiceUniform
223+
sceneUniform = sceneUniform
230224
FilterBloomCompositeShader = shader }
231225

232226
/// Create a filter fxaa shader.

Nu/Nu/OpenGL/OpenGL.PhysicallyBased.fs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3055,8 +3055,8 @@ module PhysicallyBased =
30553055
/// Draw the bloom composite pass using a physically-based surface.
30563056
let DrawBloomCompositeSurface
30573057
(bloomStrength : single,
3058-
sceneTexture : Texture.Texture,
30593058
bloomBlurTexture : Texture.Texture,
3059+
sceneTexture : Texture.Texture,
30603060
geometry : PhysicallyBasedGeometry,
30613061
shader : Filter.FilterBloomCompositeShader,
30623062
vao : uint) =
@@ -3067,16 +3067,16 @@ module PhysicallyBased =
30673067

30683068
// setup shader
30693069
Gl.UseProgram shader.FilterBloomCompositeShader
3070-
Gl.Uniform1 (shader.sceneUniform, 0)
3071-
Gl.Uniform1 (shader.bloomBlurUniform, 1)
30723070
Gl.Uniform1 (shader.bloomStrengthUniform, bloomStrength)
3071+
Gl.Uniform1 (shader.bloomBlurUniform, 0)
3072+
Gl.Uniform1 (shader.sceneUniform, 1)
30733073
Hl.Assert ()
30743074

30753075
// setup textures
30763076
Gl.ActiveTexture TextureUnit.Texture0
3077-
Gl.BindTexture (TextureTarget.Texture2d, sceneTexture.TextureId)
3078-
Gl.ActiveTexture TextureUnit.Texture1
30793077
Gl.BindTexture (TextureTarget.Texture2d, bloomBlurTexture.TextureId)
3078+
Gl.ActiveTexture TextureUnit.Texture1
3079+
Gl.BindTexture (TextureTarget.Texture2d, sceneTexture.TextureId)
30803080
Hl.Assert ()
30813081

30823082
// setup geometry

Nu/Nu/Render/Renderer3d.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4034,7 +4034,7 @@ type [<ReferenceEquality>] GlRenderer3d =
40344034

40354035
// render bloom composite pass
40364036
OpenGL.PhysicallyBased.DrawBloomCompositeSurface
4037-
(Constants.Render.BloomStrength, compositionTexture, bloomSampleTextures.[0],
4037+
(Constants.Render.BloomStrength, bloomSampleTextures.[0], compositionTexture,
40384038
renderer.PhysicallyBasedQuad, renderer.FilterShaders.FilterBloomCompositeShader, renderer.PhysicallyBasedStaticVao)
40394039
OpenGL.Hl.Assert ()
40404040

0 commit comments

Comments
 (0)