shaders = 24

parameters = "BLUR_RADIUS"
BLUR_RADIUS = 2.0

shader0 = shaders/kawase/linearize.slang
scale_type0 = source
scale0 = 1.0
float_framebuffer0 = true
alias0 = "Input"


shader1 = shaders/dual_filter/downsample_bloom.slang
filter_linear1 = true
scale_type1 = viewport
scale1 = 0.7
float_framebuffer1 = true
wrap_mode1 = mirrored_repeat

shader2 = shaders/dual_filter/upsample.slang
filter_linear2 = true
scale_type2 = source
scale2 = 1.0
float_framebuffer2 = true
wrap_mode2 = mirrored_repeat

shader3 = shaders/dual_filter/downsample.slang
filter_linear3 = true
scale_type3 = source
scale3 = 0.5
float_framebuffer3 = true
wrap_mode3 = mirrored_repeat

shader4 = shaders/dual_filter/upsample.slang
filter_linear4 = true
scale_type4 = source
scale4 = 2.0
float_framebuffer4 = true
wrap_mode4 = mirrored_repeat
alias4 = "Scale1"


shader5 = shaders/dual_filter/downsample.slang
filter_linear5 = true
scale_type5 = source
scale5 = 0.5
float_framebuffer5 = true
wrap_mode5 = mirrored_repeat

shader6 = shaders/dual_filter/downsample.slang
filter_linear6 = true
scale_type6 = source
scale6 = 0.5
float_framebuffer6 = true
wrap_mode6 = mirrored_repeat

shader7 = shaders/dual_filter/upsample.slang
filter_linear7 = true
scale_type7 = source
scale7 = 2.0
float_framebuffer7 = true
wrap_mode7 = mirrored_repeat
alias7 = "Scale2"


shader8 = shaders/dual_filter/downsample.slang
filter_linear8 = true
scale_type8 = source
scale8 = 0.5
float_framebuffer8 = true
wrap_mode8 = mirrored_repeat

shader9 = shaders/dual_filter/downsample.slang
filter_linear9 = true
scale_type9 = source
scale9 = 0.5
float_framebuffer9 = true
wrap_mode9 = mirrored_repeat

shader10 = shaders/dual_filter/upsample.slang
filter_linear10 = true
scale_type10 = source
scale10 = 2.0
float_framebuffer10 = true
wrap_mode10 = mirrored_repeat
alias10 = "Scale3"


shader11 = shaders/dual_filter/downsample.slang
filter_linear11 = true
scale_type11 = source
scale11 = 0.5
float_framebuffer11 = true
wrap_mode11 = mirrored_repeat

shader12 = shaders/dual_filter/downsample.slang
filter_linear12 = true
scale_type12 = source
scale12 = 0.5
float_framebuffer12 = true
wrap_mode12 = mirrored_repeat

shader13 = shaders/dual_filter/upsample.slang
filter_linear13 = true
scale_type13 = source
scale13 = 2.0
float_framebuffer13 = true
wrap_mode13 = mirrored_repeat
alias13 = "Scale4"


shader14 = shaders/dual_filter/downsample.slang
filter_linear14 = true
scale_type14 = source
scale14 = 0.5
float_framebuffer14 = true
wrap_mode14 = mirrored_repeat

shader15 = shaders/dual_filter/downsample.slang
filter_linear15 = true
scale_type15 = source
scale15 = 0.5
float_framebuffer15 = true
wrap_mode15 = mirrored_repeat

shader16 = shaders/dual_filter/upsample.slang
filter_linear16 = true
scale_type16 = source
scale16 = 2.0
float_framebuffer16 = true
wrap_mode16 = mirrored_repeat
alias16 = "Scale5"


shader17 = shaders/dual_filter/downsample.slang
filter_linear17 = true
scale_type17 = source
scale17 = 0.5
float_framebuffer17 = true
wrap_mode17 = mirrored_repeat

shader18 = shaders/dual_filter/downsample.slang
filter_linear18 = true
scale_type18 = source
scale18 = 0.5
float_framebuffer18 = true
wrap_mode18 = mirrored_repeat

shader19 = shaders/dual_filter/upsample.slang
filter_linear19 = true
scale_type19 = source
scale19 = 2.0
float_framebuffer19 = true
wrap_mode19 = mirrored_repeat
alias19 = "Scale6"


shader20 = shaders/dual_filter/naive_resample.slang
filter_linear20 = true
scale_type20 = absolute
scale_x20 = 128
scale_y20 = 128
float_framebuffer20 = true
wrap_mode20 = mirrored_repeat

shader21 = shaders/dual_filter/moving_avg.slang
filter_linear21 = true
scale_type21 = absolute
scale_x21 = 2
scale_y21 = 2
float_framebuffer21 = true
mipmap_input21 = true
alias21 = "MovingAverage"


shader22 = shaders/dual_filter/bloom_blend.slang
filter_linear22 = true
scale_type22 = viewport
scale22 = 1.0
float_framebuffer22 = true


shader23 = shaders/kawase/delinearize.slang
filter_linear23 = true
scale_type23 = viewport
scal23 = 1.0
float_framebuffer23 = true
