mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-03-10 22:01:52 +09:00
will use 0.667f as a "kawase blur power constant"
This commit is contained in:
@@ -7,6 +7,8 @@ varying vec4 v_color;
|
||||
varying vec2 v_texCoords;
|
||||
uniform sampler2D u_texture;
|
||||
|
||||
// recommended value: n / vec2(fbo_width, fbo_height) where n is something like {0.5, 1, 2, 4, ... }
|
||||
// that, or simply 0.5, depending on how your uv coord works
|
||||
uniform vec2 halfpixel = vec2(0.0, 0.0);
|
||||
|
||||
vec2 twister = vec2(1.0, -1.0);
|
||||
|
||||
@@ -7,6 +7,8 @@ varying vec4 v_color;
|
||||
varying vec2 v_texCoords;
|
||||
uniform sampler2D u_texture;
|
||||
|
||||
// recommended value: n / vec2(fbo_width, fbo_height) where n is something like {0.5, 1, 2, 4, ... }
|
||||
// that, or simply 0.5, depending on how your uv coord works
|
||||
uniform vec2 halfpixel = vec2(0.0, 0.0);
|
||||
|
||||
vec2 doublex = vec2(2.0, 0.0);
|
||||
|
||||
@@ -674,6 +674,8 @@ object IngameRenderer : Disposable {
|
||||
batch.projectionMatrix = camera.combined
|
||||
}
|
||||
|
||||
private const val KAWASE_POWER = 0.667f
|
||||
|
||||
fun processKawaseBlur(outFbo: FrameBuffer) {
|
||||
|
||||
// initialise readBuffer with untreated lightmap
|
||||
@@ -692,7 +694,7 @@ object IngameRenderer : Disposable {
|
||||
shaderKawaseDown.bind()
|
||||
shaderKawaseDown.setUniformMatrix("u_projTrans", camera.combined)
|
||||
shaderKawaseDown.setUniformi("u_texture", 0)
|
||||
shaderKawaseDown.setUniformf("halfpixel", 1f / fboBlurHalf.width, 1f / fboBlurHalf.height)
|
||||
shaderKawaseDown.setUniformf("halfpixel", KAWASE_POWER / fboBlurHalf.width, KAWASE_POWER / fboBlurHalf.height)
|
||||
blurWriteQuad2.render(shaderKawaseDown, GL20.GL_TRIANGLES)
|
||||
}
|
||||
|
||||
@@ -702,7 +704,7 @@ object IngameRenderer : Disposable {
|
||||
shaderKawaseDown.bind()
|
||||
shaderKawaseDown.setUniformMatrix("u_projTrans", camera.combined)
|
||||
shaderKawaseDown.setUniformi("u_texture", 0)
|
||||
shaderKawaseDown.setUniformf("halfpixel", 1f / fboBlurQuarter.width, 1f / fboBlurQuarter.height)
|
||||
shaderKawaseDown.setUniformf("halfpixel", KAWASE_POWER / fboBlurQuarter.width, KAWASE_POWER / fboBlurQuarter.height)
|
||||
blurWriteQuad4.render(shaderKawaseDown, GL20.GL_TRIANGLES)
|
||||
}
|
||||
|
||||
@@ -712,7 +714,7 @@ object IngameRenderer : Disposable {
|
||||
shaderKawaseUp.bind()
|
||||
shaderKawaseUp.setUniformMatrix("u_projTrans", camera.combined)
|
||||
shaderKawaseUp.setUniformi("u_texture", 0)
|
||||
shaderKawaseUp.setUniformf("halfpixel", 1f / fboBlurQuarter.width, 1f / fboBlurQuarter.height)
|
||||
shaderKawaseUp.setUniformf("halfpixel", KAWASE_POWER / fboBlurQuarter.width, KAWASE_POWER / fboBlurQuarter.height)
|
||||
blurWriteQuad2.render(shaderKawaseUp, GL20.GL_TRIANGLES)
|
||||
}
|
||||
|
||||
@@ -722,7 +724,7 @@ object IngameRenderer : Disposable {
|
||||
shaderKawaseUp.bind()
|
||||
shaderKawaseUp.setUniformMatrix("u_projTrans", camera.combined)
|
||||
shaderKawaseUp.setUniformi("u_texture", 0)
|
||||
shaderKawaseUp.setUniformf("halfpixel", 1f / fboBlurHalf.width, 1f / fboBlurHalf.height)
|
||||
shaderKawaseUp.setUniformf("halfpixel", KAWASE_POWER / fboBlurHalf.width, KAWASE_POWER / fboBlurHalf.height)
|
||||
blurWriteQuad.render(shaderKawaseUp, GL20.GL_TRIANGLES)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user