mirror of
https://github.com/libretro/slang-shaders.git
synced 2024-11-27 02:20:41 +00:00
Update koko-aio to 3.9.1 (#373)
* Update koko-aio to 3.8 * Missing files from previous commit * Still missing files * Fix full presets, hopefully ready for merging
This commit is contained in:
parent
f3ec2864ba
commit
8b35477a93
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -186,10 +186,11 @@ scale_type_x16 = "viewport"
|
||||
scale_x16 = "1.000000"
|
||||
scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.400000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
DO_FXAA = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
@ -199,47 +200,53 @@ OFFSET_STRENGTH = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
IN_GLOW_POWER = "1.600000"
|
||||
IN_GLOW_W = "0.950000"
|
||||
IN_GLOW_H = "0.950000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_SPREAD = "2.000000"
|
||||
IN_GLOW_W = "7.000000"
|
||||
IN_GLOW_H = "7.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.500000"
|
||||
HALO_POWER = "0.520000"
|
||||
DARKLINES_STRENGTH = "0.800000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINE_COMPENSATION = "0.200000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.500000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "2.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.500000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.010000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.001000"
|
||||
BEZEL_REFL_ZOOM = "0.990000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "5.000000"
|
||||
DO_DYNZOOM = "0.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -248,3 +255,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
64
bezel/koko-aio/README.md
Normal file
64
bezel/koko-aio/README.md
Normal file
@ -0,0 +1,64 @@
|
||||
# Koko-aio
|
||||
|
||||
Koko-aio shader is meant to be an all-in one crt shader.<br>
|
||||
It can be configured with many parameters, so that can be
|
||||
scaled to run on even on modest gpus while still developed to
|
||||
run with heavier presets on at least Haswell+ iGpus.<br>
|
||||
On that gpu, as in version 3.5, it reaches about 85fps with all features enabled<br>
|
||||
When dealing with lowres content on 1920x1080 resolution.<br>
|
||||
While it is not meant to simulate the internal behaviour of CRT displays,<br>
|
||||
it aims to give users "visual" parameters to make their monitors look similar.<br>
|
||||
Several presets are included.<br>
|
||||
|
||||
***Additional documentation:***
|
||||
* [See here](docs.md)
|
||||
|
||||
***Additional artwork:***
|
||||
* https://github.com/kokoko3k/koko-aio-slang-presets-and-overlays
|
||||
|
||||
***Actually, it provides emulation for:***
|
||||
* Scanlines
|
||||
* Screenlines
|
||||
* RGB phosphors
|
||||
* RGB deconvergence
|
||||
* NTSC/PAL CVBS color bleeding
|
||||
* NTSC color artifacting (early stage)
|
||||
* Aperture grille and slot mask.
|
||||
* Input signal glowing
|
||||
* Output signal glowing
|
||||
* Blooming
|
||||
* Gamma, contrast, saturation, luminance, color temperature adjustments
|
||||
* Black frame insertions through alternate blanking
|
||||
* Interlace flickering, forcing and emulation
|
||||
* Antialiasing
|
||||
* Curvature
|
||||
* Ambient lights
|
||||
* Vignette and Spotlight
|
||||
* Bezel (Thank you HyperspaceMadness for allowing me to rip his automagically generated bezel!)
|
||||
https://github.com/HyperspaceMadness/
|
||||
* Background images
|
||||
* Full screen glowing
|
||||
|
||||
***External code by:***
|
||||
* Nvidia (FXAA)
|
||||
* EasyMode (curvature related code)
|
||||
|
||||
# Examples
|
||||
|
||||
***monitor-slotmask-bloom-bezelwider - Arcade - Final fight***
|
||||
![alt text](https://github.com/kokoko3k/koko-aio-slang/blob/main/screenshots/screenshots.3.5/monitor-slotmask-bloom-bezelwider.mame.ffight.png?raw=true)
|
||||
|
||||
***monitor-Commodore_1084S-wider - Amiga - ProjectX SE***
|
||||
![alt text](https://github.com/kokoko3k/koko-aio-slang/blob/main/screenshots/screenshots.3.5/monitor-Commodore_1084S-wider.puae.projectx.png?raw=true)
|
||||
|
||||
***tv-PAL-my-old - Master System - Trans Bot***
|
||||
![alt text](https://github.com/kokoko3k/koko-aio-slang/blob/main/screenshots/screenshots.3.5/tv-PAL-my-old,mastersystem.transbot.png?raw=true)
|
||||
|
||||
***tv-NTSC-1 - Genesis - Sonic 2***
|
||||
![alt text](https://github.com/kokoko3k/koko-aio-slang/blob/main/screenshots/screenshots.3.5/tv-NTSC-1.md.sonic2.png?raw=true)
|
||||
|
||||
***tv-NTSC-2 - Snes - Aladdin***
|
||||
![alt text](https://github.com/kokoko3k/koko-aio-slang/blob/main/screenshots/screenshots.3.5/tv-NTSC-2.snes.aladdin.png?raw=true)
|
||||
|
||||
***tv-aperturegrille-bloom-bezel - Amiga - Leander***
|
||||
![alt text](https://github.com/kokoko3k/koko-aio-slang/blob/main/screenshots/screenshots.3.5/tv-aperturegrille-bloom-bezel.puae.leander.png?raw=true)
|
248
bezel/koko-aio/clean-scanlines-classic_take.slangp
Normal file
248
bezel/koko-aio/clean-scanlines-classic_take.slangp
Normal file
@ -0,0 +1,248 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
mipmap_input16 = "false"
|
||||
alias16 = "final_pass"
|
||||
float_framebuffer16 = "false"
|
||||
srgb_framebuffer16 = "false"
|
||||
scale_type_x16 = "viewport"
|
||||
scale_x16 = "1.000000"
|
||||
scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "0.850000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_SPREAD = "1.200000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "7.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.400000"
|
||||
HALO_W = "3.000001"
|
||||
HALO_H = "3.000001"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_MAX = "3.000000"
|
||||
SCANLINE_DARK = "0.100000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.215000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
bg_under_mipmap = "true"
|
||||
bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
@ -28,20 +28,36 @@
|
||||
It can be used with RGB shifting and image blurring to give the picture
|
||||
an ntsc look without dealing with specific encoding/decoding stuffs.
|
||||
|
||||
**Glowing Input/power:**
|
||||
**Glow/Blur:**
|
||||
Emulate the CRT glowing "feature", so that the brighter areas of
|
||||
the image will light their surroundings.
|
||||
the image will light their surroundings,
|
||||
with options to switch to classic blur.
|
||||
|
||||
Input signal glow strength:
|
||||
Input signal strength:
|
||||
The input signal gain
|
||||
Sharpness (horizontal, vertical):
|
||||
How much the glow will "spread".
|
||||
When pushed to its maximum value, no blurring will occour.
|
||||
Gamma:
|
||||
Input gamma:
|
||||
Controls how much the signal has to be bright to produce the glow.
|
||||
Glow to blur bias:
|
||||
Modulates between glow (0.. brighter colors expands over darker ones)
|
||||
versus blur (..1 all the colors are blurred)
|
||||
Glow spread amount:
|
||||
The higher, the more the bright colors will smoothly expand.
|
||||
It emulates the natural antialiasing you see on CRTs on bright areas.
|
||||
Sharpness (horizontal, vertical):
|
||||
The lower, the blurrier the image.
|
||||
When set to zero, his value is handled using "Glow spread amount"
|
||||
When pushed to its maximum value, no blurring will occour.
|
||||
Glow / blur bias:
|
||||
Higher negative values -> more glow : brighter colors expands over darker ones.
|
||||
Higher positive values -> means blur: all the colors are blurred.
|
||||
0.0 means no blur, no glow.
|
||||
Blur NTSC artifacts more
|
||||
When NTSC artifacts emulation is enabled, this option will let you blur
|
||||
them more, this would help to selectively blur things like waterfalls
|
||||
in Sonic 2.
|
||||
Blur less NTSC artifacts (min treshold)
|
||||
In relation to the previous setting, this allow to blur only the most
|
||||
prominent artifacts.
|
||||
Show NTSC artifacts mask (debug)
|
||||
This will help you to set the previous 2 values as it will show only
|
||||
the artifacts that will modify the blur.
|
||||
|
||||
**RGB Masks and/or Darklines:**
|
||||
Emulates CRT RGB phosphors (RGB Mask),
|
||||
@ -59,6 +75,8 @@
|
||||
If you have reddish tint, please double check that your monitor is
|
||||
running at native resolution and the operating system is not scaling
|
||||
the screen.
|
||||
This option is disabled if a vertical game is detected
|
||||
(mame 2003 plus and fbneo cores)
|
||||
. Horizontal Gap between triads:
|
||||
In real displays, rgb triads are separated by a black space.
|
||||
You can emulate it by turning this feature on.
|
||||
@ -130,9 +148,11 @@
|
||||
and avoid graphical glitches.
|
||||
If you enable this feature, it is highly recommended to disable darklines.
|
||||
Darklines will still used when dealing with interlaced or flickering screens.
|
||||
Type 0 allows you to configure strength and stagger
|
||||
Type 1 produces tinner slotmasks, but with fixed stagger
|
||||
Type 3 os fixed and produces heavier and thinner slotmasks without scanlies at all.
|
||||
Type 0 allows you to configure strength and stagger.
|
||||
The stagger height will be modulated by the scanline height.
|
||||
Type 1 produces tinner slotmasks, but with fixed stagger.
|
||||
The stagger height will be modulated by the scanline height.
|
||||
Type 3 is fixed and produces heavier and thinner slotmasks without visible scanlines.
|
||||
Slotmask strength
|
||||
The strenght of the slotmask (available on type 1 and 2 only)
|
||||
. Offset
|
||||
@ -150,20 +170,25 @@
|
||||
Controls how much the bloom has to be wide.
|
||||
Quality:
|
||||
How much the shape of the bloomed picture will reflect the original one.
|
||||
Input Gamma:
|
||||
Input Gamma (threshold):
|
||||
Use this as a threshold to control how much a pixel has to be bright
|
||||
to produce a bloom effect.
|
||||
Output Gamma (contour smoothness):
|
||||
Lowering it will make the bloom contour more pronunced.
|
||||
Handy to simulate well defined "Aura" effects.
|
||||
Power multiplier:
|
||||
Just apply a gain to the final bloom.
|
||||
Output Gamma:
|
||||
Play with it.
|
||||
Strength on bright areas:
|
||||
Modulate: Local exposure eye adaption strength
|
||||
Simulate the process through which the pupil adapt itself to different
|
||||
light conditions.
|
||||
Modulate: Strength on bright areas (0 = aura)
|
||||
Since the light produced by the bloom effect is added to the underlying
|
||||
image, it can produce burn effects on the already bright areas.
|
||||
image, it can produce clipping effects on the already bright areas.
|
||||
This is actually an hack that will avoid to bloom them.
|
||||
Don't use too low values.
|
||||
Bypass:
|
||||
Bypass/Solo:
|
||||
See how the bloomed image looks alone.
|
||||
Use 1.0 to see naked bloom without any modulation applied
|
||||
Use 2.0 to see naked bloom with modulation applied
|
||||
|
||||
**Curvature:**
|
||||
Emulates a curved CRT display.
|
||||
@ -185,6 +210,8 @@
|
||||
that will be filled by the game content
|
||||
- The blue channel represents the part of the bezel that will be filled by the game reflection.
|
||||
|
||||
Straight
|
||||
Use a straight bezel instead of a curved one.
|
||||
Bezel color (red,green,blue) and contrast:
|
||||
Allows to choose the color of the monitor frame.
|
||||
Image zoom:
|
||||
@ -193,8 +220,11 @@
|
||||
Allows to shrink or expand the monitor frame to fit the game content.
|
||||
Image Border:
|
||||
Draws a black border around the game content.
|
||||
Reflections zoom:
|
||||
"Zoom" the reflections if they don't match the content.
|
||||
Sharp reflections
|
||||
Modulates from totally blurred to totally sharp reflection appearance.
|
||||
|
||||
**Global shift/zoom image:**
|
||||
Zoom and shift everything on screen, but background pictures.
|
||||
|
||||
**Backgound image:**
|
||||
Draws an image on screen picked from the "textures" shader subdirectory,
|
||||
@ -214,7 +244,13 @@
|
||||
Rotate image mode
|
||||
This could be needed when dealing with vertical games.
|
||||
Use -1 to let the shader try to guess if the rotation is needed.
|
||||
|
||||
Wrap mode:
|
||||
What to do outside the image:
|
||||
0 Mirrored repeat because so is configured in main .slangp.
|
||||
1 Clamp to border and it means black.
|
||||
2 Clamp to edge and means that it repeats the edge color.
|
||||
3 Plain repeat without mirroring.
|
||||
|
||||
**Ambient light leds:**
|
||||
Emulates the presence of led strips under the monitor that lights the
|
||||
surroundings according to the edges of the game content.
|
||||
@ -231,14 +267,17 @@
|
||||
How wide is the area illuminated.
|
||||
Led power:
|
||||
Leds post gain.
|
||||
Note: To avoid burn-in effects, keep Light Falloff + Led power < 1.4
|
||||
|
||||
Note: To avoid burn-in effects, keep Light Falloff + Led power not too high.
|
||||
Colorize Bezel
|
||||
Allow to add an amount of the ambient light over the bezel frame
|
||||
|
||||
**Aspect Ratio:**
|
||||
When using effects that need Retroarch aspect ratio option
|
||||
to be set to "full", you have to provide the source aspect
|
||||
ratio to the shader.
|
||||
Use -6 for MAME cores that pre-rotates the game (TATE mode)
|
||||
With Mame 2003 plus and fbneo cores, koko-aio detects if the
|
||||
game is rotated or not without any user intervention.
|
||||
|
||||
Aspect Ratio Numerator:
|
||||
Setting non positive value here will switch to a predefined
|
||||
@ -276,3 +315,18 @@
|
||||
You can blank single line or a group of them at once.
|
||||
See what performs better on your display.
|
||||
|
||||
**Backdrop support:**
|
||||
Some (not so much) old arcades used a mirror trick to overlay the
|
||||
game content over an high definition printed image.<br>
|
||||
koko-aio supports them but you will explicitely need to enable<br>
|
||||
that feature in config.inc file, by uncommenting a string this way:<br>
|
||||
//#define STATIC_SUPPORT_BACKDROP 1.0 <br>
|
||||
becomes: <br>
|
||||
#define STATIC_SUPPORT_BACKDROP 1.0 <br>
|
||||
You can only combine the static backdrop with images <br>
|
||||
that are painted over the screen.<br>
|
||||
If you need to zoom the game content only, use the global zoom controls.
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -188,16 +188,12 @@ scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
GAMMA_OUT = "0.550000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
GAMMA_OUT = "0.530000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.900000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_POWER = "1.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "0.000000"
|
||||
IN_GLOW_H = "2.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
@ -211,25 +207,31 @@ HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_DARK = "0.050000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.150000"
|
||||
GEOM_WARP_Y = "0.150000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.215000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -238,3 +240,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -188,53 +188,47 @@ scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
GAMMA_OUT = "0.550000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
GAMMA_OUT = "0.520000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.900000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_POWER = "2.100000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "0.000000"
|
||||
IN_GLOW_H = "2.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DARKLINES_PERIOD = "2.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_POWER = "0.280000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_GAMMA = "1.500000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.450000"
|
||||
SCANLINE_DARK = "0.050000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_STRENGTH = "1.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "1.200000"
|
||||
GEOM_WARP_Y = "1.300000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_R = "0.020000"
|
||||
BEZEL_R = "0.025000"
|
||||
BEZEL_G = "0.000000"
|
||||
BEZEL_B = "-0.020000"
|
||||
BEZEL_CON = "1.280000"
|
||||
BEZEL_INNER_ZOOM = "-0.440000"
|
||||
BEZEL_B = "-0.025000"
|
||||
BEZEL_INNER_ZOOM = "-0.390000"
|
||||
BEZEL_FRAME_ZOOM = "-0.140000"
|
||||
BEZEL_IMAGE_BORDER = "1.030000"
|
||||
BEZEL_REFL_STRENGTH = "0.200000"
|
||||
BEZEL_RFL_OFFSET = "-0.003000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
DO_BG_IMAGE = "1.000000"
|
||||
BG_IMAGE_OVER = "1.000000"
|
||||
BG_IMAGE_OFFX = "0.002000"
|
||||
BG_IMAGE_OFFY = "0.005000"
|
||||
BG_IMAGE_OFFY = "0.045500"
|
||||
BG_IMAGE_ZOOM = "1.091004"
|
||||
DO_AMBILIGHT = "0.000000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
@ -246,11 +240,19 @@ DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
S_SIZE = "0.640000"
|
||||
S_POWER = "0.250000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
DO_GLOBAL_SHZO = "1.000000"
|
||||
GLOBAL_OFFX = "-0.001000"
|
||||
GLOBAL_OFFY = "-0.037000"
|
||||
GLOBAL_ZOOM = "1.000000"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -259,3 +261,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -188,48 +188,43 @@ scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
GAMMA_OUT = "0.550000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
GAMMA_OUT = "0.520000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.900000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_POWER = "2.100000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "0.000000"
|
||||
IN_GLOW_H = "2.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DARKLINES_PERIOD = "2.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_POWER = "0.280000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_GAMMA = "1.500000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.600000"
|
||||
SCANLINE_DARK = "0.050000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_STRENGTH = "1.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "1.400000"
|
||||
GEOM_WARP_Y = "1.600000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_R = "0.030000"
|
||||
BEZEL_R = "0.025000"
|
||||
BEZEL_G = "0.000000"
|
||||
BEZEL_B = "-0.030000"
|
||||
BEZEL_INNER_ZOOM = "-0.600000"
|
||||
BEZEL_B = "-0.025000"
|
||||
BEZEL_INNER_ZOOM = "-0.520000"
|
||||
BEZEL_FRAME_ZOOM = "-0.250000"
|
||||
BEZEL_IMAGE_BORDER = "1.040000"
|
||||
BEZEL_REFL_STRENGTH = "0.200000"
|
||||
BEZEL_RFL_OFFSET = "-0.003000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
DO_BG_IMAGE = "1.000000"
|
||||
BG_IMAGE_OVER = "1.000000"
|
||||
BG_IMAGE_OFFX = "0.001500"
|
||||
@ -245,11 +240,15 @@ DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
S_SIZE = "0.640000"
|
||||
S_POWER = "0.250000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -258,3 +257,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -188,23 +188,18 @@ scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
GAMMA_OUT = "0.550000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
GAMMA_OUT = "0.530000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.900000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_POWER = "1.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "0.000000"
|
||||
IN_GLOW_H = "2.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DARKLINES_PERIOD = "2.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
@ -212,32 +207,36 @@ HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_SM_STRENGTH = "1.000000"
|
||||
SCANLINE_MIN = "0.300000"
|
||||
SCANLINES_BLEEDING = "0.300000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.800000"
|
||||
GEOM_WARP_Y = "0.850000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.165000"
|
||||
BEZEL_FRAME_ZOOM = "0.040000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.600000"
|
||||
AMBI_POWER = "2.000000"
|
||||
AMBI_POWER = "1.700000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -246,3 +245,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -188,16 +188,12 @@ scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
GAMMA_OUT = "0.550000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
GAMMA_OUT = "0.530000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.900000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_POWER = "1.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "0.000000"
|
||||
IN_GLOW_H = "2.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
@ -211,21 +207,20 @@ HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_SM_STRENGTH = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINES_BLEEDING = "0.300000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.500000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.010000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "5.000000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
@ -233,11 +228,15 @@ V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -246,3 +245,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -188,16 +188,12 @@ scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
GAMMA_OUT = "0.550000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
GAMMA_OUT = "0.530000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.900000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_POWER = "1.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "0.000000"
|
||||
IN_GLOW_H = "2.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
@ -211,27 +207,32 @@ HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_SM_STRENGTH = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_DARK = "0.050000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.150000"
|
||||
GEOM_WARP_Y = "0.150000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.215000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -240,3 +241,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -188,23 +188,18 @@ scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
GAMMA_OUT = "0.550000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
GAMMA_OUT = "0.530000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.900000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_POWER = "1.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "0.000000"
|
||||
IN_GLOW_H = "2.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DARKLINES_PERIOD = "2.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
@ -212,35 +207,39 @@ HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.300000"
|
||||
SCANLINES_BLEEDING = "0.300000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_STRENGTH = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.800000"
|
||||
GEOM_WARP_Y = "0.850000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.165000"
|
||||
BEZEL_FRAME_ZOOM = "0.040000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
DO_BG_IMAGE = "1.000000"
|
||||
AMBI_STEPS = "5.000000"
|
||||
AMBI_FALLOFF = "0.600000"
|
||||
AMBI_POWER = "2.000000"
|
||||
AMBI_POWER = "2.100000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -249,3 +248,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -188,23 +188,18 @@ scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
GAMMA_OUT = "0.550000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
GAMMA_OUT = "0.530000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.900000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_POWER = "1.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "0.000000"
|
||||
IN_GLOW_H = "2.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DARKLINES_PERIOD = "2.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
@ -212,33 +207,38 @@ HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.300000"
|
||||
SCANLINES_BLEEDING = "0.300000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_STRENGTH = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.800000"
|
||||
GEOM_WARP_Y = "0.850000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.165000"
|
||||
BEZEL_FRAME_ZOOM = "0.040000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.600000"
|
||||
AMBI_POWER = "2.000000"
|
||||
AMBI_POWER = "1.700000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -247,3 +247,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -0,0 +1,253 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
mipmap_input16 = "false"
|
||||
alias16 = "final_pass"
|
||||
float_framebuffer16 = "false"
|
||||
srgb_framebuffer16 = "false"
|
||||
scale_type_x16 = "viewport"
|
||||
scale_x16 = "1.000000"
|
||||
scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
GAMMA_OUT = "0.525000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_SPREAD = "1.200000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "7.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.355000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.600000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.050000"
|
||||
SCANLINE_MAX = "4.099998"
|
||||
SCANLINE_DARK = "0.100000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.010000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "5.000000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
bg_under_mipmap = "true"
|
||||
bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -188,16 +188,12 @@ scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
GAMMA_OUT = "0.550000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
GAMMA_OUT = "0.530000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.900000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_POWER = "1.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "0.000000"
|
||||
IN_GLOW_H = "2.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
@ -211,22 +207,21 @@ HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_STRENGTH = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.500000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.010000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "5.000000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
@ -234,11 +229,15 @@ V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -247,3 +246,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -188,16 +188,12 @@ scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
GAMMA_OUT = "0.550000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
GAMMA_OUT = "0.530000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.900000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_POWER = "1.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "0.000000"
|
||||
IN_GLOW_H = "2.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
@ -211,28 +207,33 @@ HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_STRENGTH = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.150000"
|
||||
GEOM_WARP_Y = "0.150000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.215000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -241,3 +242,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -188,16 +188,12 @@ scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
GAMMA_OUT = "0.550000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
GAMMA_OUT = "0.530000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.900000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_POWER = "1.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "0.000000"
|
||||
IN_GLOW_H = "2.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
@ -211,27 +207,32 @@ HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_STRENGTH = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.150000"
|
||||
GEOM_WARP_Y = "0.150000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.215000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -240,3 +241,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,129 +0,0 @@
|
||||
#version 450
|
||||
|
||||
/* This pass simulates the presence of a led strip placed on the back of the virtual screen */
|
||||
|
||||
#include "config.inc"
|
||||
|
||||
#define internalness 0.07 //The distance between the screen border and the led strip
|
||||
#define leds_per_strip 8 //How many leds per border
|
||||
|
||||
#define radius 0.001 //The base radius of the emitted light (tuned by user parameter later)
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out float border_min;
|
||||
layout(location = 2) out float border_max;
|
||||
layout(location = 3) out float fstep;
|
||||
layout(location = 4) out float lod;
|
||||
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
|
||||
border_min=internalness ;
|
||||
border_max=1.0-internalness ;
|
||||
fstep = (border_max - border_min) / (leds_per_strip-1);
|
||||
//Calc a lod for a texture sized led_strip x led_strip
|
||||
lod = log2(params.SourceSize.y / leds_per_strip);
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in float border_min;
|
||||
layout(location = 2) in float border_max;
|
||||
layout(location = 3) in float fstep;
|
||||
layout(location = 4) in float lod;
|
||||
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
|
||||
layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||
layout(set = 0, binding = 3) uniform sampler2D isrotated_passFeedback;
|
||||
layout(set = 0, binding = 4) uniform sampler2D ambi_pre_pass1Feedback;
|
||||
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
vec3 circle_smooth(vec2 coords, vec2 middle, float f_radius, float FALLOFF, float f_lod) {
|
||||
float fdistance=distance(middle, vec2(coords.x, coords.y));
|
||||
float circle = (1-smoothstep(f_radius-FALLOFF, f_radius+FALLOFF, fdistance));
|
||||
vec3 circle_color = textureLod(Source, middle, f_lod).rgb * circle;
|
||||
return circle_color;
|
||||
}
|
||||
|
||||
#define tol_start 0.06 //skip tolerance
|
||||
#define tol_end 0.94 //1-tol_start
|
||||
|
||||
|
||||
/*
|
||||
To spare gpu cycles, completely skip the pass
|
||||
by the following factor and return instead the previous
|
||||
(temporal) frame. The trick works because the pass is
|
||||
temporal smoothed later on.
|
||||
|
||||
The only downside is that the leds will have less reaction time.
|
||||
Esample:
|
||||
a FRAME_DIVIDER = 3 over a 60hz content will give
|
||||
a minimum reaction time of 60/3=20Hz=50msecs.
|
||||
*/
|
||||
|
||||
#define FRAME_DIVIDER 3
|
||||
|
||||
void main() {
|
||||
if (DO_AMBILIGHT != 1.0) return;
|
||||
|
||||
if ( mod(params.FrameCount, FRAME_DIVIDER) != 0.0) {
|
||||
FragColor = texture(ambi_pre_pass1Feedback, vTexCoord);
|
||||
return;
|
||||
}
|
||||
|
||||
bool is_rotated = texture(isrotated_passFeedback, vec2(0.5, 0.5)).r > 0.5;
|
||||
|
||||
//Scale to the original aspect
|
||||
vec2 coords = get_scaled_coords(vTexCoord, global.FinalViewportSize, is_rotated);
|
||||
if (DO_BEZEL==1.0) coords = zoomout_coords(coords, -BEZEL_INNER_ZOOM , 1.0);
|
||||
|
||||
//Skip coords in the rect "under the monitor"
|
||||
FragColor = vec4(0.0);
|
||||
|
||||
//First consider to skip the curved coords
|
||||
if (DO_CURVATURE == 1.0) {
|
||||
if ((GEOM_WARP_X > 0.0) || (GEOM_WARP_Y > 0.0)) {
|
||||
vec2 coords_curved = Warp(coords, GEOM_WARP_X, GEOM_WARP_Y);
|
||||
if ( ( (coords_curved.x > tol_start && coords_curved.x < 1.0 - tol_start ) && (coords_curved.y > tol_start && coords_curved.y < 1.0 - tol_start) ) &&
|
||||
!( (coords.x < - tol_start || coords.x > 1.0 + tol_start) || (coords.y < - tol_start || coords.y > 1.0 + tol_start) ) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
//...next, the straight ones (needed even when curvature is due, because it returns particular values in the corners)
|
||||
//skip_pass = skip_pass && !( (coords.x < 0.0 -tol || coords.x > 1.0 +tol) || (coords.y < 0.0 -tol || coords.y > 1.0 +tol) );
|
||||
if (coords.x > tol_start && coords.x < tol_end && coords.y > tol_start && coords.y < tol_end) return;
|
||||
|
||||
//Finally, emulate leds.
|
||||
vec3 pixel_out = vec3(0.0);
|
||||
float middle_x; float middle_y ;
|
||||
|
||||
middle_x=border_min;
|
||||
for (middle_y=border_min ; middle_y <= border_max+eps ; middle_y=middle_y + fstep ) {
|
||||
pixel_out +=circle_smooth(coords, vec2(middle_x,middle_y), radius, AMBI_FALLOFF, lod);
|
||||
}
|
||||
middle_x=border_max;
|
||||
for (middle_y=border_min ; middle_y <= border_max+eps ; middle_y=middle_y + fstep ) {
|
||||
pixel_out +=circle_smooth(coords, vec2(middle_x,middle_y), radius, AMBI_FALLOFF, lod);
|
||||
}
|
||||
|
||||
middle_y=border_min;
|
||||
for (middle_x=border_min+fstep ; middle_x <= border_max-fstep+eps ; middle_x=middle_x + fstep ) {
|
||||
pixel_out +=circle_smooth(coords, vec2(middle_x,middle_y), radius, AMBI_FALLOFF, lod);
|
||||
}
|
||||
middle_y=border_max;
|
||||
for (middle_x=border_min+fstep ; middle_x <= border_max-fstep+eps ; middle_x=middle_x + fstep ) {
|
||||
pixel_out +=circle_smooth(coords, vec2(middle_x,middle_y), radius, AMBI_FALLOFF, lod);
|
||||
}
|
||||
|
||||
FragColor = vec4(pixel_out,1.0);
|
||||
return;
|
||||
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
#version 450
|
||||
|
||||
/* This pass apply an pre-gain to the leds on the rear of the virtual screen
|
||||
* it is intended to produce a mipmap to be used by the next pass */
|
||||
|
||||
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 3) uniform sampler2D avglum_pass;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
void main() {
|
||||
if (DO_AMBILIGHT != 1.0) return;
|
||||
|
||||
vec3 pixel_out = texture(first_pass, vTexCoord).rgb;
|
||||
pixel_out = apply_fuzzy_main_pass(pixel_out);
|
||||
pixel_out = pixel_push_luminance(pixel_out, AMBI_POWER-1);
|
||||
FragColor = vec4(pixel_out, 1.0);
|
||||
}
|
@ -1,84 +1,195 @@
|
||||
#version 450
|
||||
|
||||
/* In this pass the led light is temporally smoothed to give smooth fades.
|
||||
* the slowness is configurable by user parameter.
|
||||
* It also detect when a full scene is changed to produces fast fades, instead
|
||||
*/
|
||||
/* This pass simulates the presence of a led strip placed on the back of the virtual screen */
|
||||
|
||||
#include "config.inc"
|
||||
|
||||
#define PreviousSampler ambi_temporal_passFeedback
|
||||
#define CurrentSampler ambi_pre_pass1
|
||||
#define PastSampler ambi_temporal_passFeedback
|
||||
|
||||
#define internalness 0.07 //The distance between the screen border and the led strip
|
||||
#define leds_per_strip 8 //How many leds per border
|
||||
#define radius 0.001 //The base radius of the emitted light (tuned by user parameter later)
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out float border_min;
|
||||
layout(location = 2) out float border_max;
|
||||
layout(location = 3) out float fstep;
|
||||
layout(location = 4) out float lod;
|
||||
layout(location = 5) out vec2 vWarp_vexp;
|
||||
layout(location = 6) out vec2 vWarp_arg2;
|
||||
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
|
||||
border_min=internalness ;
|
||||
border_max=1.0-internalness ;
|
||||
fstep = (border_max - border_min) / (leds_per_strip-1);
|
||||
|
||||
//Calc a lod for a texture sized led_strip x led_strip
|
||||
lod = log2(global.first_passSize.y / leds_per_strip);
|
||||
|
||||
//Precalc some Curvature/Warp values:
|
||||
vWarp_vexp = 1.0/ (1 + (vec2(GEOM_WARP_X, GEOM_WARP_Y) * 0.2)) ;
|
||||
vWarp_arg2 = 1.0 - pow(vec2(0.29289321881345247559915563789515), vWarp_vexp );
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in float border_min;
|
||||
layout(location = 2) in float border_max;
|
||||
layout(location = 3) in float fstep;
|
||||
layout(location = 4) in float lod;
|
||||
layout(location = 5) in vec2 vWarp_vexp;
|
||||
layout(location = 6) in vec2 vWarp_arg2;
|
||||
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D CurrentSampler;
|
||||
layout(set = 0, binding = 3) uniform sampler2D PreviousSampler;
|
||||
layout(set = 0, binding = 4) uniform sampler2D avglum_pass;
|
||||
layout(set = 0, binding = 5) uniform sampler2D avglum_passFeedback;
|
||||
|
||||
|
||||
layout(set = 0, binding = 1) uniform sampler2D PastSampler;
|
||||
layout(set = 0, binding = 2) uniform sampler2D avglum_pass;
|
||||
layout(set = 0, binding = 3) uniform sampler2D avglum_passFeedback;
|
||||
layout(set = 0, binding = 4) uniform sampler2D first_pass;
|
||||
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
vec3 ambi_push_pass(vec2 coords, float f_lod) {
|
||||
vec3 pixel_out = textureLod(first_pass, coords, f_lod).rgb;
|
||||
pixel_out = apply_fuzzy_main_pass(pixel_out);
|
||||
pixel_out = pixel_push_luminance(pixel_out, AMBI_POWER-1);
|
||||
return pixel_out;
|
||||
}
|
||||
|
||||
vec3 circle_smooth(vec2 coords, vec2 middle, float f_radius, float FALLOFF, float f_lod) {
|
||||
float fdistance=distance(middle, vec2(coords.x, coords.y));
|
||||
float circle = (1-smoothstep(f_radius-FALLOFF, f_radius+FALLOFF, fdistance));
|
||||
vec3 circle_color = ambi_push_pass(middle, f_lod) * circle;
|
||||
return circle_color;
|
||||
}
|
||||
|
||||
#define tol_start 0.06 //skip tolerance
|
||||
#define tol_end 0.94 //1-tol_start
|
||||
|
||||
vec3 ambi_pre_pass() {
|
||||
|
||||
//Scale to the original aspect
|
||||
vec2 coords = get_scaled_coords(vTexCoord, global.FinalViewportSize, is_rotated());
|
||||
if (DO_GLOBAL_SHZO >0.5)
|
||||
coords = zoom(coords + vec2(-GLOBAL_OFFX, -GLOBAL_OFFY), GLOBAL_ZOOM );
|
||||
|
||||
if (DO_BEZEL==1.0) coords = zoomout_coords(coords, -BEZEL_INNER_ZOOM , 1.0);
|
||||
|
||||
//Skip coords in the rect "under the monitor"
|
||||
FragColor = vec4(0.0);
|
||||
|
||||
//First consider to skip the curved coords
|
||||
if (DO_CURVATURE == 1.0) {
|
||||
if ((GEOM_WARP_X > 0.0) || (GEOM_WARP_Y > 0.0)) {
|
||||
vec2 coords_curved = Warp_fast(coords, vWarp_vexp, vWarp_arg2); // vec2 coords_curved = Warp(coords, GEOM_WARP_X, GEOM_WARP_Y);
|
||||
if ( ( (coords_curved.x > tol_start && coords_curved.x < 1.0 - tol_start ) && (coords_curved.y > tol_start && coords_curved.y < 1.0 - tol_start) ) &&
|
||||
!( (coords.x < - tol_start || coords.x > 1.0 + tol_start) || (coords.y < - tol_start || coords.y > 1.0 + tol_start) ) )
|
||||
return vec3(0.0);
|
||||
}
|
||||
}
|
||||
|
||||
//...next, the straight ones (needed even when curvature is due, because it returns particular values in the corners)
|
||||
//skip_pass = skip_pass && !( (coords.x < 0.0 -tol || coords.x > 1.0 +tol) || (coords.y < 0.0 -tol || coords.y > 1.0 +tol) );
|
||||
if (coords.x > tol_start && coords.x < tol_end && coords.y > tol_start && coords.y < tol_end) return vec3(0.0);
|
||||
|
||||
//Finally, emulate leds.
|
||||
vec3 pixel_out = vec3(0.0);
|
||||
float middle_x; float middle_y ;
|
||||
middle_x=border_min;
|
||||
for (middle_y=border_min ; middle_y <= border_max+eps ; middle_y=middle_y + fstep ) {
|
||||
pixel_out +=circle_smooth(coords, vec2(middle_x,middle_y), radius, AMBI_FALLOFF, lod);
|
||||
}
|
||||
middle_x=border_max;
|
||||
for (middle_y=border_min ; middle_y <= border_max+eps ; middle_y=middle_y + fstep ) {
|
||||
pixel_out +=circle_smooth(coords, vec2(middle_x,middle_y), radius, AMBI_FALLOFF, lod);
|
||||
}
|
||||
|
||||
middle_y=border_min;
|
||||
for (middle_x=border_min+fstep ; middle_x <= border_max-fstep+eps ; middle_x=middle_x + fstep ) {
|
||||
pixel_out +=circle_smooth(coords, vec2(middle_x,middle_y), radius, AMBI_FALLOFF, lod);
|
||||
}
|
||||
middle_y=border_max;
|
||||
for (middle_x=border_min+fstep ; middle_x <= border_max-fstep+eps ; middle_x=middle_x + fstep ) {
|
||||
pixel_out +=circle_smooth(coords, vec2(middle_x,middle_y), radius, AMBI_FALLOFF, lod);
|
||||
}
|
||||
|
||||
return pixel_out;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#define MAX_STEPS AMBI_STEPS
|
||||
|
||||
float ambi_step(float start, float end, float mystep) {
|
||||
float diff = start-end;
|
||||
if (abs(diff) < mystep) return end;
|
||||
//Does not worth to try to unbranch:
|
||||
if (start >= end)
|
||||
return start - mystep;
|
||||
else
|
||||
return start + mystep;
|
||||
|
||||
}
|
||||
|
||||
vec3 ambi_step_rgb(vec3 s,vec3 d, vec3 mystep){
|
||||
//step fade (f) rom s to d
|
||||
return vec3 ( ambi_step(s.r,d.r,mystep.r),
|
||||
ambi_step(s.g,d.g,mystep.g),
|
||||
ambi_step(s.b,d.b,mystep.b)
|
||||
//step fade from s to d
|
||||
return vec3 ( ambi_step(s.r, d.r, mystep.r),
|
||||
ambi_step(s.g, d.g, mystep.g),
|
||||
ambi_step(s.b, d.b, mystep.b)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
vec4 pixel_ambilight() {
|
||||
vec3 mystep;
|
||||
|
||||
vec4 previous_pixel_vec4 = texture(PreviousSampler, vTexCoord);
|
||||
vec3 current_pixel = texture(CurrentSampler, vTexCoord).rgb;
|
||||
vec3 previous_pixel = previous_pixel_vec4.rgb;
|
||||
vec4 past_pixel_vec4 = texture(PastSampler, vTexCoord);
|
||||
vec3 present_pixel = ambi_pre_pass().rgb;
|
||||
vec3 past_pixel = past_pixel_vec4.rgb;
|
||||
|
||||
float scene_change_remaining = previous_pixel_vec4.a;
|
||||
float scene_change_remaining = past_pixel_vec4.a;
|
||||
|
||||
float prev_avg_lum = texture(avglum_passFeedback,vec2(0.25,0.25)).a;
|
||||
float curr_avg_lum = texture(avglum_pass ,vec2(0.25,0.25)).a;
|
||||
float diff_avg_lum = abs(prev_avg_lum - curr_avg_lum);
|
||||
float past_avg_lum = texture(avglum_passFeedback,vec2(0.25,0.25)).a;
|
||||
float present_avg_lum = texture(avglum_pass ,vec2(0.25,0.25)).a;
|
||||
float diff_avg_lum = abs(past_avg_lum - present_avg_lum);
|
||||
|
||||
if (diff_avg_lum >= AMBI_SCENE_CHG_THRSHLD) {
|
||||
scene_change_remaining = 1.0;
|
||||
}
|
||||
|
||||
// Are we changing scene?
|
||||
vec3 mystep;
|
||||
if (scene_change_remaining > 0.0) {
|
||||
mystep = vec3(max(1.0/MAX_STEPS, AMBI_FAST_STEP)); // <- Never slow down fades due to fast step when changing scene
|
||||
scene_change_remaining -= AMBI_FAST_STEP;
|
||||
} else {
|
||||
mystep = abs((previous_pixel-current_pixel) / MAX_STEPS);
|
||||
|
||||
} else {
|
||||
mystep = abs((past_pixel - present_pixel) / MAX_STEPS); //OK
|
||||
}
|
||||
return vec4(ambi_step_rgb(previous_pixel,current_pixel,mystep),scene_change_remaining);
|
||||
|
||||
|
||||
return vec4(ambi_step_rgb(past_pixel, present_pixel, mystep), scene_change_remaining);
|
||||
}
|
||||
|
||||
void main() {
|
||||
if (DO_AMBILIGHT != 1.0) return;
|
||||
//3.0 makes scene detection not working.
|
||||
#define FRAME_DIVIDER 2.0
|
||||
|
||||
void main() {
|
||||
if (DO_AMBILIGHT != 1.0)
|
||||
return;
|
||||
|
||||
|
||||
if ( mod(params.FrameCount,FRAME_DIVIDER) != 0.0) {
|
||||
vec4 past_sampler = texture(PastSampler, vTexCoord);
|
||||
past_sampler = max(past_sampler, 0.0); // <- Sanitize input to avoid glitches when enabling the option runtime.
|
||||
FragColor = past_sampler;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
FragColor = pixel_ambilight();
|
||||
}
|
||||
|
@ -5,8 +5,9 @@
|
||||
|
||||
#include "config.inc"
|
||||
|
||||
//The mipmap wideness needed by the reflection on the bezel.
|
||||
#define min_w 16
|
||||
//The mipmap wideness needed by the highlights on the bezel.
|
||||
//the higher, the smoother.
|
||||
#define mip_lod 5
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
@ -16,8 +17,7 @@ layout(location = 1) out float lod;
|
||||
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
lod = log2(params.SourceSize.y / min_w);
|
||||
vTexCoord = TexCoord;
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
@ -35,30 +35,58 @@ layout(set = 0, binding = 3) uniform sampler2D avglum_passFeedback;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
|
||||
#define RGB_TO_GRAYSCALE = vec3(0.299, 0.587, 0.114)
|
||||
float get_avg_lum_from_mip() {
|
||||
vec3 mip = textureLod(first_pass, vec2(0.5,0.5),20.0).rgb;
|
||||
mip = apply_fuzzy_main_pass(mip);
|
||||
return (mip.r+mip.g+mip.b)/3.0;
|
||||
//return (mip.r+mip.g+mip.b)/3.0;
|
||||
return rgb_to_gray(mip);
|
||||
}
|
||||
|
||||
|
||||
//0.1 seems like a good tradeoff that works well with bloom exposire and fullscreen zoom
|
||||
//...maybe bloom exposure works best at 0.05; you may consider another zone of smooth sampling.
|
||||
#define SMOOTHNESS_SPEED 0.1
|
||||
|
||||
float get_avglum() {
|
||||
bool coordinate_for_scene_detection =
|
||||
/* avglum alpha has 3 zones::
|
||||
* 0.25 -> reduced sampling, used for to aid scene detection
|
||||
* 0.75 -> smoothed_sampling, used to adapt fullscreen zoom
|
||||
* anything else: continuous sampling
|
||||
*/
|
||||
|
||||
|
||||
bool reduced_sampling_co =
|
||||
vTexCoord.x > 0.24 && vTexCoord.x < 0.26 &&
|
||||
vTexCoord.y > 0.24 && vTexCoord.y < 0.26 ;
|
||||
|
||||
bool reduced_sample_time_is_now = (mod(params.FrameCount,AMBI_AVGLUM_DIVIDER) == 0);
|
||||
|
||||
if (!coordinate_for_scene_detection) return get_avg_lum_from_mip();
|
||||
if (reduced_sample_time_is_now) return get_avg_lum_from_mip();
|
||||
if (coordinate_for_scene_detection && reduced_sample_time_is_now) return get_avg_lum_from_mip();
|
||||
|
||||
/* Implicit else: we are in a coordinate that is not used for scene detection
|
||||
* So just return the feedback of this pass to spare gpu cycles. */
|
||||
return texture(avglum_passFeedback,vTexCoord).a;
|
||||
bool smoothed_sampling_co =
|
||||
vTexCoord.x > 0.74 && vTexCoord.x < 0.76 &&
|
||||
vTexCoord.y > 0.74 && vTexCoord.y < 0.76 ;
|
||||
|
||||
|
||||
if (reduced_sampling_co) {
|
||||
//in the reduced sampling zone, only update at right time; else return the previous frame.
|
||||
bool reduced_sample_time_is_now = (mod(params.FrameCount,AMBI_AVGLUM_DIVIDER) == 0);
|
||||
if (reduced_sample_time_is_now)
|
||||
return get_avg_lum_from_mip();
|
||||
float avglum_feedback = texture(avglum_passFeedback,vTexCoord).a;
|
||||
avglum_feedback = max(avglum_feedback, 0.0); // <- Sanitize input to avoid glitches when enabling the option runtime.
|
||||
return avglum_feedback;
|
||||
}
|
||||
|
||||
if (smoothed_sampling_co) {
|
||||
return mix(texture(avglum_passFeedback,vTexCoord).a, get_avg_lum_from_mip(), SMOOTHNESS_SPEED);
|
||||
}
|
||||
|
||||
//Outside specific areas, update continuously; this is used by bezel highlights.
|
||||
return get_avg_lum_from_mip();
|
||||
|
||||
}
|
||||
|
||||
void main() {
|
||||
/*Grab a mipmap from the previous pass.
|
||||
/*Grab a mipmap from the first pass.
|
||||
Calculate the average luminance from the smallest mipmap and put into the alpha channel
|
||||
So that can be used:
|
||||
1 - continuously at coordinate 0.5,0.5
|
||||
@ -73,9 +101,8 @@ void main() {
|
||||
pixel_out.a = get_avglum();
|
||||
if (DO_BEZEL + DO_BLOOM > 0.0) {
|
||||
//Create a small mipmap to be used to light the bezel corners.
|
||||
pixel_out.rgb = textureLod(first_pass, vTexCoord,lod).rgb;
|
||||
pixel_out.rgb = textureLod(first_pass, vTexCoord, mip_lod).rgb;
|
||||
}
|
||||
FragColor = pixel_out;
|
||||
|
||||
|
||||
}
|
||||
|
@ -18,26 +18,26 @@ void main() {
|
||||
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 1) uniform sampler2D ntsc_pass;
|
||||
|
||||
#include "includes/blooms.include.slang"
|
||||
#include "includes/functions.include.slang"
|
||||
#include "includes/blooms.include.slang"
|
||||
|
||||
void main() {
|
||||
if (DO_BLOOM == 0.0) return;
|
||||
|
||||
vec3 bloomed = bloom(
|
||||
first_pass,
|
||||
|
||||
vec3 bloomed = bloom_gamma_power(
|
||||
ntsc_pass,
|
||||
vTexCoord,
|
||||
params.OriginalSize,
|
||||
vec2(BLOOM_SIZE),
|
||||
BLOOM_QUALITY,
|
||||
BLOOM_GAMMA,
|
||||
BLOOM_GAMMA, 1.0,
|
||||
0.0,
|
||||
0.0
|
||||
);
|
||||
|
||||
bloomed = apply_fuzzy_main_pass(bloomed) * BLOOM_POWER;
|
||||
bloomed = apply_fuzzy_main_pass(bloomed);
|
||||
FragColor = vec4(bloomed, 1.0);
|
||||
|
||||
}
|
||||
|
@ -20,8 +20,11 @@ layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
#include "includes/blooms.include.slang"
|
||||
|
||||
#define offset 0.1963495408493621 // TAU/8.0/4.0*1.0
|
||||
|
||||
void main() {
|
||||
if (DO_BLOOM == 0.0) return;
|
||||
|
||||
@ -31,10 +34,10 @@ void main() {
|
||||
params.SourceSize,
|
||||
vec2(BLOOM_SIZE),
|
||||
BLOOM_QUALITY,
|
||||
1.0,
|
||||
0.196349540625,
|
||||
offset,
|
||||
0.0
|
||||
);
|
||||
|
||||
FragColor = vec4(bloomed.rgb, 1.0);
|
||||
|
||||
FragColor = vec4(bloomed.rgb, 1.0); //FragColor = texture(Source, vTexCoord);
|
||||
}
|
||||
|
@ -20,8 +20,11 @@ layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
#include "includes/blooms.include.slang"
|
||||
|
||||
#define offset 0.3926990816987242 //TAU/8.0/4.0*2.0
|
||||
|
||||
void main() {
|
||||
if (DO_BLOOM == 0.0) return;
|
||||
|
||||
@ -31,11 +34,10 @@ void main() {
|
||||
params.SourceSize,
|
||||
vec2(BLOOM_SIZE),
|
||||
BLOOM_QUALITY,
|
||||
1.0,
|
||||
0.39269908125,
|
||||
offset,
|
||||
0.0
|
||||
);
|
||||
|
||||
FragColor = vec4(bloomed.rgb, 1.0);
|
||||
FragColor = vec4(bloomed.rgb, 1.0); //FragColor = texture(Source,vTexCoord);
|
||||
|
||||
}
|
||||
|
@ -18,24 +18,113 @@ void main() {
|
||||
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||
layout(set = 0, binding = 1) uniform sampler2D Source;
|
||||
layout(set = 0, binding = 2) uniform sampler2D avglum_pass;
|
||||
layout(set = 0, binding = 3) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 4) uniform sampler2D bloom_pass_finalFeedback;
|
||||
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
#include "includes/blooms.include.slang"
|
||||
|
||||
#define offset 0.5890486225480862 // TAU/8.0/4.0*3.0
|
||||
|
||||
//The curve shoulder to map scene luminance to bloom mix strength
|
||||
#define BLOOM_PUPIL_EXPOSURE_CURVE_SHOULDER 0.33
|
||||
|
||||
//How big is the zone in which the luminance will be computed for puple temporal adaption (range 2..20)
|
||||
#define BLOOM_PUPIL_LUM_ZONE_W 7
|
||||
|
||||
//The speed of the pupil adaption
|
||||
#define BLOOM_PUPIL_ADAPTION_SPEED 0.2
|
||||
|
||||
|
||||
float get_avg_lum_from_mip(sampler2D tex, vec2 co, float lod) {
|
||||
vec3 mip = textureLod(first_pass, co, lod).rgb;
|
||||
mip = apply_fuzzy_main_pass(mip);
|
||||
//return (mip.r+mip.g+mip.b)/3.0;
|
||||
float luminance_from_feedback = rgb_to_gray(mip);
|
||||
float luminance_first_pass = texture(bloom_pass_finalFeedback,vTexCoord).a;
|
||||
luminance_first_pass = max(luminance_first_pass, 0.0); // <- Sanitize input to avoid glitches when enabling the option runtime.
|
||||
//temporal smooth.
|
||||
//the defined emulated eye adaption speed needs to be divided
|
||||
//by the eye adaption strength (BLOOM_EYE_ADPT_SRT)
|
||||
|
||||
//The following makes the adaption speed more constant:
|
||||
float eye_adaption_speed = BLOOM_PUPIL_ADAPTION_SPEED * ( luminance_first_pass / luminance_from_feedback ) ;
|
||||
|
||||
//The following is needed so that the speed is the same even for higher strength
|
||||
eye_adaption_speed = (eye_adaption_speed / BLOOM_EYE_ADPT_SRT);
|
||||
|
||||
//The following simulates pupil inertia
|
||||
eye_adaption_speed = clamp(eye_adaption_speed, 1.0/BLOOM_EYE_INERTIA, 1.0);
|
||||
|
||||
float luminance = mix(luminance_first_pass, luminance_from_feedback, eye_adaption_speed);
|
||||
|
||||
|
||||
|
||||
return luminance + eps;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
void main() {
|
||||
if (DO_BLOOM == 0.0) return;
|
||||
|
||||
|
||||
vec3 bloomed = bloom(
|
||||
Source,
|
||||
vTexCoord,
|
||||
params.SourceSize,
|
||||
vec2(BLOOM_SIZE),
|
||||
BLOOM_QUALITY,
|
||||
1.0,
|
||||
0.589048621875,
|
||||
offset,
|
||||
0.0
|
||||
);
|
||||
|
||||
bloomed = pow(bloomed,vec3(BLOOM_GAMMA_OUT));
|
||||
bloomed = pixel_push_luminance(bloomed, BLOOM_POWER);
|
||||
|
||||
float fbloom_mix = BLOOM_MIX;
|
||||
float bloom_mix_adapted = 1.0;
|
||||
float over_white_correction = 1.0;
|
||||
|
||||
|
||||
if (BLOOM_OVER_WHITE < 1.0) {
|
||||
//Use mipmap available in avglum_pass to identify bright areas.
|
||||
vec3 avglum = texture(avglum_pass,vTexCoord).rgb;
|
||||
float b_brightness = max(avglum.b,max(avglum.r,avglum.g));
|
||||
b_brightness *= 1-BLOOM_OVER_WHITE;
|
||||
over_white_correction =1- b_brightness;
|
||||
}
|
||||
|
||||
bloomed*=BLOOM_POWER;
|
||||
|
||||
// (Branching with (if BLOOM_EYE_ADPT_SRT == 0.0) does not gain anything.)
|
||||
// Modulate exposure over time too.
|
||||
//Smooth luminance with specified lod in this alpha channel
|
||||
float zone_luminance = get_avg_lum_from_mip(first_pass, vTexCoord, BLOOM_PUPIL_LUM_ZONE_W);
|
||||
float smoothed_avglum = zone_luminance * BLOOM_EYE_ADPT_SRT;
|
||||
bloom_mix_adapted = max(0.0, BLOOM_MIX - smoothed_avglum);
|
||||
|
||||
|
||||
if (BLOOM_BYPASS == 2.0) fbloom_mix = 1.0;
|
||||
|
||||
|
||||
float pow_exp = BLOOM_PUPIL_EXPOSURE_CURVE_SHOULDER - smoothed_avglum * BLOOM_PUPIL_EXPOSURE_CURVE_SHOULDER;
|
||||
pow_exp = max(0.0, pow_exp); //avoid negative exps.
|
||||
bloom_mix_adapted = fbloom_mix * ( 1- pow(smoothed_avglum, pow_exp) );
|
||||
|
||||
|
||||
if (BLOOM_BYPASS != 1.0)
|
||||
bloomed = bloomed * bloom_mix_adapted * over_white_correction ;
|
||||
|
||||
|
||||
FragColor = vec4(pow(bloomed,vec3(BLOOM_GAMMA_OUT)),1.0);
|
||||
|
||||
|
||||
FragColor = vec4(bloomed, zone_luminance);
|
||||
|
||||
//FragColor = vec4(zone_luminance); //Use me to see luminosity zones
|
||||
|
||||
}
|
||||
|
226
bezel/koko-aio/shaders/config.globals.inc
Normal file
226
bezel/koko-aio/shaders/config.globals.inc
Normal file
@ -0,0 +1,226 @@
|
||||
/* There yoy have a chance to boost your FPS.
|
||||
*
|
||||
* The more lines you edit, the more your FPS will be high.
|
||||
*
|
||||
* Edit lines that way, eg:
|
||||
*
|
||||
* #define SCANLINE_DARK params.SCANLINE_DARK
|
||||
* turns to:
|
||||
* #define SCANLINE_DARK 0.2
|
||||
*
|
||||
* or:
|
||||
* #define DO_CCORRECTION global.DO_CCORRECTION
|
||||
* turns to
|
||||
* #define DO_CCORRECTION 0.0
|
||||
*
|
||||
*
|
||||
* Since everything after "//" is ignored,
|
||||
* you can even do something like:
|
||||
* #define DO_CCORRECTION 0.0 //global.DO_CCORRECTION
|
||||
*
|
||||
*
|
||||
* ...that's it, you just need to copy the values from the
|
||||
* preset you like to the right setting here.
|
||||
*
|
||||
* The downside of using this method is that every setting
|
||||
* you turn, will be static and you will not be able to
|
||||
* modify it "on-the-fly" in retroarch.
|
||||
*
|
||||
* The only way to change that values will be to edit this file
|
||||
* again, so maybe doing multiple copies of this file
|
||||
* or even of the whole koko-shader would be a good idea.
|
||||
*
|
||||
*
|
||||
* I suggest you to start from the easy ones, the ones that
|
||||
* starts with DO_****, like DO_SCANLINES.
|
||||
* it takes a value = 0 or 1, where 0 means no, 1 means yes.
|
||||
* I repeat: if you always wants scanlines, just use:
|
||||
*
|
||||
* #define DO_SCANLINES 1.0
|
||||
* instead of
|
||||
* #define #DO_SCANLINES global.DO_SCANLINES
|
||||
*
|
||||
*
|
||||
* Also, take a copy of this (modified) file, because it would be overwritten by
|
||||
* updates.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#define DO_CCORRECTION global.DO_CCORRECTION
|
||||
#define GAMMA_OUT global.GAMMA_OUT
|
||||
#define SATURATION global.SATURATION
|
||||
#define LUMINANCE global.LUMINANCE
|
||||
#define CONTRAST global.CONTRAST
|
||||
#define BRIGHTNESS global.BRIGHTNESS
|
||||
#define TEMPERATURE global.TEMPERATURE
|
||||
|
||||
|
||||
|
||||
#define DO_FXAA global.DO_FXAA
|
||||
|
||||
|
||||
|
||||
#define DO_NTSC_ARTIFACTS global.DO_NTSC_ARTIFACTS
|
||||
#define NTSC_FILTER_WIDTH global.NTSC_FILTER_WIDTH
|
||||
#define NTSC_FILTER_SCF global.NTSC_FILTER_SCF
|
||||
#define NTSC_FILTER_FC global.NTSC_FILTER_FC
|
||||
#define NTSC_MIX global.NTSC_MIX
|
||||
#define NTSC_PHASE_SHIFT global.NTSC_PHASE_SHIFT
|
||||
|
||||
|
||||
|
||||
#define DO_RF_NOISE global.DO_RF_NOISE
|
||||
#define RF_NOISE_STRENGTH global.RF_NOISE_STRENGTH
|
||||
|
||||
|
||||
|
||||
#define DO_SAT_BLEED global.DO_SAT_BLEED
|
||||
#define SAT_BLEED_SIZE_LEFT global.SAT_BLEED_SIZE_LEFT
|
||||
#define SAT_BLEED_SIZE_RIGHT global.SAT_BLEED_SIZE_RIGHT
|
||||
#define SAT_BLEED_FALLOFF global.SAT_BLEED_FALLOFF
|
||||
#define SAT_BLEED_STRENGTH global.SAT_BLEED_STRENGTH
|
||||
#define SAT_BLEED_PAL global.SAT_BLEED_PAL
|
||||
|
||||
|
||||
|
||||
#define DO_SHIFT_RGB global.DO_SHIFT_RGB
|
||||
#define SHIFT_R global.SHIFT_R
|
||||
#define SHIFT_G global.SHIFT_G
|
||||
#define SHIFT_B global.SHIFT_B
|
||||
#define OFFSET_STRENGTH global.OFFSET_STRENGTH
|
||||
|
||||
|
||||
|
||||
#define DO_IN_GLOW global.DO_IN_GLOW
|
||||
#define IN_GLOW_BIAS global.IN_GLOW_BIAS
|
||||
#define IN_GLOW_SPREAD global.IN_GLOW_SPREAD
|
||||
#define IN_GLOW_W global.IN_GLOW_W
|
||||
#define IN_GLOW_H global.IN_GLOW_H
|
||||
#define IN_GLOW_POWER global.IN_GLOW_POWER
|
||||
#define IN_GLOW_GAMMA global.IN_GLOW_GAMMA
|
||||
#define IN_GLOW_NTSC_ARTF_MULT global.IN_GLOW_NTSC_ARTF_MULT
|
||||
#define IN_GLOW_NTSC_ARTF_TRSH global.IN_GLOW_NTSC_ARTF_TRSH
|
||||
#define IN_GLOW_SHOW_ARTF_MASK global.IN_GLOW_SHOW_ARTF_MASK
|
||||
|
||||
|
||||
#define DO_VMASK_AND_DARKLINES global.DO_VMASK_AND_DARKLINES
|
||||
#define MASK_COMPENSATION global.MASK_COMPENSATION
|
||||
#define RGB_MASK_STRENGTH global.RGB_MASK_STRENGTH
|
||||
#define VMASK_OVERWHITE params.VMASK_OVERWHITE
|
||||
#define VMASK_DARKLINE_SCALE params.VMASK_DARKLINE_SCALE
|
||||
#define VMASK_GAP params.VMASK_GAP
|
||||
#define VMASK_USE_GM params.VMASK_USE_GM
|
||||
#define DARKLINES_STRENGTH global.DARKLINES_STRENGTH
|
||||
#define DRKLN_OVERWHITE params.DRKLN_OVERWHITE
|
||||
#define DARKLINES_VOFFSET params.DARKLINES_VOFFSET
|
||||
#define DARKLINES_PERIOD params.DARKLINES_PERIOD
|
||||
|
||||
|
||||
|
||||
#define DO_HALO global.DO_HALO
|
||||
#define HALO_W params.HALO_W
|
||||
#define HALO_H params.HALO_H
|
||||
#define HALO_POWER params.HALO_POWER
|
||||
#define HALO_GAMMA params.HALO_GAMMA
|
||||
#define HALO_VS_SCAN params.HALO_VS_SCAN
|
||||
|
||||
|
||||
#define DO_SCANLINES global.DO_SCANLINES
|
||||
#define SCANLINE_DARK params.SCANLINE_DARK
|
||||
#define SCANLINE_MIN global.SCANLINE_MIN
|
||||
#define SCANLINE_MAX global.SCANLINE_MAX
|
||||
#define SCANLINES_BLEEDING global.SCANLINES_BLEEDING
|
||||
#define SCANLINE_FLICKERING global.SCANLINE_FLICKERING
|
||||
#define SCANLINE_FLICKERING_POWER global.SCANLINE_FLICKERING_POWER
|
||||
#define SCANLINE_DISABLE_ON_INTERLACE global.SCANLINE_DISABLE_ON_INTERLACE
|
||||
#define SCANLINE_COMPENSATION global.SCANLINE_COMPENSATION
|
||||
#define SCANLINE_SM_TYPE global.SCANLINE_SM_TYPE
|
||||
#define SCANLINE_SM_STRENGTH global.SCANLINE_SM_STRENGTH
|
||||
#define SCANLINE_SM_VOFFSET global.SCANLINE_SM_VOFFSET
|
||||
|
||||
|
||||
|
||||
#define DO_BLOOM params.DO_BLOOM
|
||||
#define BLOOM_MIX global.BLOOM_MIX
|
||||
#define BLOOM_EYE_ADPT_SRT global.BLOOM_EYE_ADPT_SRT
|
||||
#define BLOOM_EYE_INERTIA global.BLOOM_EYE_INERTIA
|
||||
#define BLOOM_QUALITY params.BLOOM_QUALITY
|
||||
#define BLOOM_SIZE global.BLOOM_SIZE
|
||||
#define BLOOM_GAMMA global.BLOOM_GAMMA
|
||||
#define BLOOM_POWER global.BLOOM_POWER
|
||||
#define BLOOM_GAMMA_OUT global.BLOOM_GAMMA_OUT
|
||||
#define BLOOM_OVER_WHITE global.BLOOM_OVER_WHITE
|
||||
#define BLOOM_BYPASS global.BLOOM_BYPASS
|
||||
|
||||
|
||||
|
||||
#define DO_CURVATURE global.DO_CURVATURE
|
||||
#define GEOM_WARP_X global.GEOM_WARP_X
|
||||
#define GEOM_WARP_Y global.GEOM_WARP_Y
|
||||
#define GEOM_CORNER_SIZE global.GEOM_CORNER_SIZE
|
||||
#define GEOM_CORNER_SMOOTH global.GEOM_CORNER_SMOOTH
|
||||
|
||||
|
||||
|
||||
#define DO_BEZEL global.DO_BEZEL
|
||||
#define BEZEL_R global.BEZEL_R
|
||||
#define BEZEL_G global.BEZEL_G
|
||||
#define BEZEL_B global.BEZEL_B
|
||||
#define BEZEL_CON global.BEZEL_CON
|
||||
#define BEZEL_INNER_ZOOM global.BEZEL_INNER_ZOOM
|
||||
#define BEZEL_FRAME_ZOOM global.BEZEL_FRAME_ZOOM
|
||||
#define BEZEL_IMAGE_BORDER global.BEZEL_IMAGE_BORDER
|
||||
#define BEZEL_USE_STRAIGHT global.BEZEL_USE_STRAIGHT
|
||||
#define BEZEL_RFL_BLR_SHD global.BEZEL_RFL_BLR_SHD
|
||||
#define BEZEL_RFL_OFFSET global.BEZEL_RFL_OFFSET
|
||||
#define BEZEL_REFL_ZOOM global.BEZEL_REFL_ZOOM
|
||||
#define BEZEL_REFL_STRENGTH global.BEZEL_REFL_STRENGTH
|
||||
|
||||
#define DO_SPOT global.DO_SPOT
|
||||
#define S_POSITION global.S_POSITION
|
||||
#define S_SIZE global.S_SIZE
|
||||
#define S_POWER global.S_POWER
|
||||
|
||||
|
||||
|
||||
#define DO_VIGNETTE global.DO_VIGNETTE
|
||||
#define V_SIZE global.V_SIZE
|
||||
#define V_POWER global.V_POWER
|
||||
|
||||
|
||||
|
||||
#define DO_BG_IMAGE global.DO_BG_IMAGE
|
||||
#define BG_IMAGE_OVER global.BG_IMAGE_OVER
|
||||
#define BG_IMAGE_OFFY global.BG_IMAGE_OFFY
|
||||
#define BG_IMAGE_OFFX global.BG_IMAGE_OFFX
|
||||
#define BG_IMAGE_ZOOM global.BG_IMAGE_ZOOM
|
||||
#define BG_IMAGE_ROTATION global.BG_IMAGE_ROTATION
|
||||
#define BG_IMAGE_WRAP_MODE global.BG_IMAGE_WRAP_MODE
|
||||
|
||||
|
||||
#define DO_AMBILIGHT global.DO_AMBILIGHT
|
||||
#define AMBI_STEPS global.AMBI_STEPS
|
||||
#define AMBI_FALLOFF global.AMBI_FALLOFF
|
||||
#define AMBI_POWER global.AMBI_POWER
|
||||
#define AMBI_OVER_BEZEL global.AMBI_OVER_BEZEL
|
||||
#define ASPECT_X global.ASPECT_X
|
||||
#define ASPECT_Y global.ASPECT_Y
|
||||
|
||||
|
||||
|
||||
#define DO_DYNZOOM global.DO_DYNZOOM
|
||||
#define DYNZOOM_FACTOR global.DYNZOOM_FACTOR
|
||||
|
||||
|
||||
|
||||
#define DO_ALT_BLANK global.DO_ALT_BLANK
|
||||
#define ALT_BLANK_STRENGTH global.ALT_BLANK_STRENGTH
|
||||
#define ALT_BLANK_PERIOD global.ALT_BLANK_PERIOD
|
||||
|
||||
|
||||
#define DO_GLOBAL_SHZO global.DO_GLOBAL_SHZO
|
||||
#define GLOBAL_ZOOM global.GLOBAL_ZOOM
|
||||
#define GLOBAL_OFFX global.GLOBAL_OFFX
|
||||
#define GLOBAL_OFFY global.GLOBAL_OFFY
|
@ -1,17 +1,32 @@
|
||||
// Uncomment this to improve bezel downscaling.
|
||||
// If you are using standard bezel, leave commented to gain performance.
|
||||
//#define STATIC_BEZEL_USE_MIPMAP 1.0
|
||||
|
||||
//Consider content interlaced if lines are more than this
|
||||
#define MIN_LINES_INTERLACED 380
|
||||
|
||||
//Sort of dithering used in vignette, spot, backlight leds
|
||||
#define NOISEPOWER ((params.OutputSize.z)*3)
|
||||
//Sort of dithering/debanding used in vignette, spot, backlight leds
|
||||
#define NOISEPOWER 1/192.0
|
||||
//((params.OutputSize.z)*3)
|
||||
|
||||
//Bezel reflection area size in relation to the game frame
|
||||
//Use the lowest possible value for best performance
|
||||
//It is also used to compute wrap/repeated coordinates.
|
||||
#define BEZEL_REFLECTION_AREA_SIZE 0.175
|
||||
//If you change the default bezel texture, you may have to edit this to
|
||||
//align bezel reflections and game content. (it seems to depend on the curvature amount)
|
||||
#define BEZEL_BORDER_SIZE 0.197
|
||||
|
||||
//The maximum radius of the reflection blur. //3.3..4.0 max
|
||||
#define BEZEL_REFL_BLUR_MAX 4.0
|
||||
|
||||
// Define the size and the smoothness of the rectangle
|
||||
// in the bezel corners that will hide and blur the reflections
|
||||
#define BEZEL_REFL_CORNER_BLANK_SIZE 0.0685
|
||||
#define BEZEL_REFL_CORNER_BLANK_SHADE 0.05 // keep it > 0.0
|
||||
|
||||
//Bezel reflection warping (curvature) may need a correction factor.
|
||||
//Modify this if bezel reflections does not follow the border
|
||||
#define BEZEL_REFL_WARP_CORRECTION_FACTOR 1.9
|
||||
|
||||
// 0.0-1.0: sensitivity to scene change (ambilike stuff), 0.0 changes more
|
||||
#define AMBI_SCENE_CHG_THRSHLD 0.07
|
||||
|
||||
// The following will allow to sample at reduced interval
|
||||
// The scene change detection logic will take advantage of it
|
||||
// So that quick fades will still be treated as scene changes
|
||||
@ -21,7 +36,8 @@
|
||||
// when changing scene. (range 0..1)
|
||||
// It is wise to correlate it with avglum_divider
|
||||
// try between (1/avglum_divider) and (1/avglum_divider)/3
|
||||
#define AMBI_FAST_STEP 0.125
|
||||
//#define AMBI_FAST_STEP 0.125
|
||||
#define AMBI_FAST_STEP 0.25
|
||||
|
||||
//Setting the glow/halo sharpness parameter to this
|
||||
//will skip the blurring phase and lowers the gpu use
|
||||
@ -29,16 +45,43 @@
|
||||
//of IN_GLOW_W/H, HALO_W/H
|
||||
#define GLOW_SHARP_MAX 7
|
||||
|
||||
//Minumum glow sharpness
|
||||
//I set this to allow negative values for glow sharpness
|
||||
//that will calc their values from light spread amount
|
||||
#define MIN_IN_GLOW_SHARP 0.5
|
||||
|
||||
//Setting glow to blur bias parameter to this
|
||||
//will skip the glow/blur mix codem and just return
|
||||
//the blurred image
|
||||
//Set this to the same value as used for the maximum
|
||||
//of IN_GLOW_BIAS
|
||||
#define IN_GLOW_BIAS_MAX 2.0
|
||||
#define IN_GLOW_BIAS_MAX 1.0
|
||||
|
||||
//Try to keep blur sizes consistent across input resolutions
|
||||
#define SCALEMOD_X 360
|
||||
#define SCALEMOD_Y 270
|
||||
#define NEW_SCALEMOD_X (params.OriginalSize.x/360.0 / 2.2)
|
||||
#define NEW_SCALEMOD_Y (params.OriginalSize.y/270.0 / 2.2)
|
||||
|
||||
// When Glow sharpness is controlled by light spread amount
|
||||
// The following ratio is used, the lower, the blurrier:
|
||||
#define IN_GLOW_SHARPNESS_SPREAD_RATIO_W 0.8334
|
||||
#define IN_GLOW_SHARPNESS_SPREAD_RATIO_H 2.0
|
||||
|
||||
|
||||
//Support for backdrops has to be enable by uncommenting:
|
||||
//#define STATIC_SUPPORT_BACKDROP 1.0
|
||||
#define BACKDROP_OFFX 0.0
|
||||
#define BACKDROP_OFFY 0.0
|
||||
#define BACKDROP_ZOOM 1.0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define eps 1e-5
|
||||
#define pi 3.141592654
|
||||
#define TAU 6.28318530717958647693
|
||||
#define pi 3.141592653589793
|
||||
#define TAU 6.28318530717958647693
|
||||
#define alpha_mark 0.1
|
||||
|
||||
|
||||
@ -78,6 +121,7 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
||||
//vec4 bgSize;
|
||||
vec4 avglum_passSize;
|
||||
vec4 first_passSize;
|
||||
vec4 ntsc_passSize;
|
||||
|
||||
float DO_SCANLINES;
|
||||
float DO_IN_GLOW;
|
||||
@ -87,12 +131,18 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
||||
float DO_CCORRECTION;
|
||||
float DO_ALT_BLANK;
|
||||
float IN_GLOW_BIAS ;
|
||||
float IN_GLOW_SPREAD ;
|
||||
float SCANLINES_BLEEDING ;
|
||||
float IN_GLOW_W;
|
||||
float IN_GLOW_H;
|
||||
float IN_GLOW_POWER;
|
||||
float IN_GLOW_GAMMA;
|
||||
float IN_GLOW_NTSC_ARTF_MULT;
|
||||
float IN_GLOW_NTSC_ARTF_TRSH;
|
||||
float IN_GLOW_SHOW_ARTF_MASK;
|
||||
float BLOOM_MIX;
|
||||
float BLOOM_EYE_ADPT_SRT;
|
||||
float BLOOM_EYE_INERTIA;
|
||||
float BLOOM_SIZE;
|
||||
float BLOOM_GAMMA;
|
||||
float BLOOM_BYPASS;
|
||||
@ -122,6 +172,8 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
||||
float SCANLINE_SM_STRENGTH;
|
||||
float SCANLINE_SM_TYPE;
|
||||
float SCANLINE_SM_VOFFSET;
|
||||
float SCANLINE_MIN;
|
||||
float SCANLINE_MAX;
|
||||
float RGB_MASK_STRENGTH;
|
||||
float DARKLINES_STRENGTH;
|
||||
float GAMMA_OUT ; //1
|
||||
@ -145,19 +197,21 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
||||
float BEZEL_CON;
|
||||
float BEZEL_INNER_ZOOM;
|
||||
float BEZEL_IMAGE_BORDER;
|
||||
float BEZEL_REFL_ZOOM;
|
||||
float BEZEL_FRAME_ZOOM;
|
||||
float BEZEL_USE_STRAIGHT;
|
||||
float BEZEL_RFL_BLR_SHD;
|
||||
float BEZEL_RFL_OFFSET;
|
||||
float BEZEL_REFL_ZOOM;
|
||||
float BEZEL_REFL_STRENGTH;
|
||||
|
||||
float DO_SPOT;
|
||||
float S_POSITION;
|
||||
float S_SIZE;
|
||||
float S_POWER;
|
||||
float S_BYPASS;
|
||||
|
||||
float DO_VIGNETTE;
|
||||
float V_SIZE;
|
||||
float V_POWER;
|
||||
float V_BYPASS;
|
||||
|
||||
float DO_DYNZOOM;
|
||||
float DYNZOOM_FACTOR;
|
||||
@ -165,6 +219,7 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
||||
float DO_AMBILIGHT;
|
||||
float AMBI_FALLOFF;
|
||||
float AMBI_POWER;
|
||||
float AMBI_OVER_BEZEL;
|
||||
float ASPECT_X;
|
||||
float ASPECT_Y;
|
||||
float AMBI_STEPS;
|
||||
@ -175,13 +230,22 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
||||
float BG_IMAGE_OFFX;
|
||||
float BG_IMAGE_ZOOM;
|
||||
float BG_IMAGE_ROTATION;
|
||||
|
||||
float BG_IMAGE_WRAP_MODE;
|
||||
|
||||
float DO_SHIFT_RGB;
|
||||
float SHIFT_R;
|
||||
float SHIFT_G;
|
||||
float SHIFT_B;
|
||||
float OFFSET_STRENGTH;
|
||||
|
||||
float DO_GLOBAL_SHZO;
|
||||
float GLOBAL_ZOOM;
|
||||
float GLOBAL_OFFX;
|
||||
float GLOBAL_OFFY;
|
||||
|
||||
float DO_RF_NOISE;
|
||||
float RF_NOISE_STRENGTH;
|
||||
|
||||
} global;
|
||||
|
||||
// Color correction
|
||||
@ -192,21 +256,34 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
||||
#pragma parameter BRIGHTNESS " Brightness in (0.0=off)" 0.0 -1.0 1.0 0.01
|
||||
#pragma parameter TEMPERATURE " Temperature in (6500=off)" 6500.0 3000 10000.0 50.0
|
||||
#pragma parameter GAMMA_OUT " Gamma out" 0.69 0.1 9.0 0.025
|
||||
#pragma parameter BLANK1 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
// FXAA
|
||||
// Apply an antialiasing filter via FXAA from Nvidia.
|
||||
#pragma parameter DO_FXAA "★ FXAA enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter BLANK2 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
// NTSC color artifacting
|
||||
#pragma parameter DO_NTSC_ARTIFACTS "★ CVBS: NTSC color artifacts enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter NTSC_FILTER_WIDTH " Filter width" 17.0 5.0 21.0 4.0
|
||||
#pragma parameter NTSC_FILTER_SCF " Subcarrier Frequency" 5.30 0.0 10.0 0.01
|
||||
#pragma parameter NTSC_FILTER_FC " Frequency cutoff" 2.5 0.1 10.0 0.1
|
||||
#pragma parameter NTSC_FILTER_FC " Frequency cutoff" 2.5 0.0 10.0 0.1
|
||||
#pragma parameter NTSC_PHASE_SHIFT " Phase shift" 0.0 0.0 1.0 1.0
|
||||
//#pragma parameter NTSC_DOT_CRAWL " Dot Crawl" 1.0 0.0 1.0 1.0
|
||||
#pragma parameter NTSC_MIX " Strength" 0.5 0.0 3.0 0.05
|
||||
#pragma parameter NTSC_MIX " Strength" 0.5 0.0 3.0 0.1
|
||||
#pragma parameter BLANK3 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
// RF Noise
|
||||
#pragma parameter DO_RF_NOISE "★ RF Noise enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter RF_NOISE_STRENGTH " Strength" 0.05 0.0 1.0 0.005
|
||||
#pragma parameter BLANK4 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
// YIQ/YUV bandwidth limited chroma bleeding and NTSC color artifacts.
|
||||
#pragma parameter DO_SAT_BLEED "★ CVBS: Bandwidth limited chroma enable? ==>" 0.0 0.0 1.0 1.0
|
||||
@ -215,124 +292,196 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
||||
#pragma parameter SAT_BLEED_SIZE_LEFT " Size Left" 5.0 1.0 40.0 1.0
|
||||
#pragma parameter SAT_BLEED_SIZE_RIGHT " Size Right" 5.0 1.0 40.0 1.0
|
||||
#pragma parameter SAT_BLEED_FALLOFF " Falloff" 1.7 1.0 2.0 0.01
|
||||
#pragma parameter BLANK5 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
//Offset RGB
|
||||
#pragma parameter DO_SHIFT_RGB "★ RGB deconvergence enable? (bad with FXAA) ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter OFFSET_STRENGTH " Strength" 0.5 0.0 1.0 0.1
|
||||
#pragma parameter OFFSET_STRENGTH " Strength" 0.6 0.0 1.0 0.05
|
||||
#pragma parameter SHIFT_R " Red offset" -40.0 -210.0 189.0 1
|
||||
#pragma parameter SHIFT_G " Green offset" 40.0 -210.0 189.0 1
|
||||
#pragma parameter SHIFT_B " Blue offset" 3.0 -210.0 189.0 1
|
||||
#pragma parameter SHIFT_G " Green offset" 2.0 -210.0 189.0 1
|
||||
#pragma parameter SHIFT_B " Blue offset" 40.0 -210.0 189.0 1
|
||||
#pragma parameter BLANK6 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
// Input glowing
|
||||
#pragma parameter DO_IN_GLOW "★ Glowing Input/power enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter IN_GLOW_POWER " Input signal glow strength" 0.45 0.0 5.0 0.05
|
||||
#pragma parameter IN_GLOW_W " Sharpness, horizontal" 2.5 0.2 7.0 0.05
|
||||
#pragma parameter IN_GLOW_H " Sharpness, vertical" 2.5 0.2 7.0 0.05
|
||||
#pragma parameter IN_GLOW_GAMMA " Gamma, the higher, the less the glow on dark colors" 1.0 1.0 10.0 0.1
|
||||
#pragma parameter IN_GLOW_BIAS " Glow to blur bias" 2.0 0.0 2.0 0.05
|
||||
|
||||
// Input Blur / light glowing
|
||||
#pragma parameter DO_IN_GLOW "★ Glow/Blur enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter IN_GLOW_POWER " Input signal strength" 1.0 0.0 5.0 0.05
|
||||
#pragma parameter IN_GLOW_GAMMA " Input gamma, the higher, the less glow on dark colors" 1.0 1.0 10.0 0.1
|
||||
#pragma parameter IN_GLOW_SPREAD " Glow spread amount" 0.6 0.0 4.0 0.05
|
||||
#pragma parameter IN_GLOW_W " Sharpness X (0 = controlled by glow spread)" 2.5 0.0 7.0 0.05
|
||||
#pragma parameter IN_GLOW_H " Sharpness Y (0 = controlled by glow spread)" 2.5 0.0 7.0 0.05
|
||||
#pragma parameter IN_GLOW_BIAS " Glow to blur bias" 1.0 0.0 1.0 0.05
|
||||
#pragma parameter IN_GLOW_NTSC_ARTF_MULT " Blur NTSC artifacts more" 0.0 0.0 8.0 0.1
|
||||
#pragma parameter IN_GLOW_NTSC_ARTF_TRSH " Blur less NTSC artifacts (min treshold)" 1.0 0.0 1.0 0.05
|
||||
#pragma parameter IN_GLOW_SHOW_ARTF_MASK " Show NTSC artifacts mask (debug)" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter BLANK7 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
// Mask
|
||||
#pragma parameter DO_VMASK_AND_DARKLINES "★ RGB Masks and/or Darklines enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter MASK_COMPENSATION " Compensate for brightness loss" 0.0 0.0 1.0 0.05
|
||||
#pragma parameter VMASK_DARKLINE_SCALE " (HiDPI) Vmask and Darklines multiplier" 1.0 1.0 4.0 1.0
|
||||
#pragma parameter RGB_MASK_STRENGTH " RGB Mask Strength (0.0 to disable)" 0.75 0.0 1.0 0.05
|
||||
#pragma parameter VMASK_USE_GM " . (LoDPI) Green,Magenta -> BGR" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter VMASK_GAP " . Horizontal Gap between triads" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter VMASK_OVERWHITE " . Affect bright colors" 1.0 0.0 1.0 0.05
|
||||
#pragma parameter DO_VMASK_AND_DARKLINES "★ RGB Masks and/or Darklines enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter MASK_COMPENSATION " Compensate for brightness loss" 0.0 0.0 1.0 0.05
|
||||
#pragma parameter VMASK_DARKLINE_SCALE " (HiDPI) Vmask and Darklines multiplier" 1.0 1.0 4.0 1.0
|
||||
#pragma parameter RGB_MASK_STRENGTH " RGB Mask Strength (0.0 to disable)" 0.75 0.0 1.0 0.05
|
||||
#pragma parameter VMASK_USE_GM " . (LoDPI) Green,Magenta -> BGR" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter VMASK_GAP " . Horizontal Gap between triads:" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter VMASK_OVERWHITE " . Affect bright colors" 1.0 0.0 1.0 0.05
|
||||
|
||||
#pragma parameter DARKLINES_STRENGTH " Darklines strength (0.0 to disable)" 0.65 0.0 1.0 0.05
|
||||
#pragma parameter DARKLINES_VOFFSET " . Offset" 1.0 0.0 1.0 1.0
|
||||
#pragma parameter DARKLINES_PERIOD " . Height" 4.0 2.0 16.0 2.0
|
||||
#pragma parameter DARKLINES_PERIOD " . Height" 2.0 2.0 16.0 2.0
|
||||
#pragma parameter DRKLN_OVERWHITE " . Affect bright colors" 1.0 0.0 1.0 0.05
|
||||
#pragma parameter BLANK9 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
// Halo
|
||||
#pragma parameter DO_HALO "★ Halo enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter HALO_POWER " Strength" 0.9 0.0 5.0 0.025
|
||||
#pragma parameter HALO_W " Sharpness, horizontal" 1.75 0.2 7.0 0.05
|
||||
#pragma parameter HALO_H " Sharpness, Vertical" 1.75 0.2 7.0 0.05
|
||||
#pragma parameter HALO_W " Sharpness, horizontal" 1.75 0.35 7.0 0.05
|
||||
#pragma parameter HALO_H " Sharpness, Vertical" 1.75 0.35 7.0 0.05
|
||||
#pragma parameter HALO_GAMMA " Gamma, the higher, the less the halo on dark colors" 2.0 1.0 10.0 0.1
|
||||
#pragma parameter HALO_VS_SCAN " Light up scanlines too" 0.0 0.0 1.0 0.1
|
||||
#pragma parameter HALO_VS_SCAN " Light up scanlines gaps too" 0.0 0.0 1.0 0.1
|
||||
#pragma parameter BLANK10 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
// Scanlines
|
||||
#pragma parameter DO_SCANLINES "★ Scanlines enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter SCANLINE_DARK " Scanlines gap brightness" 0.0 -0.5 1.0 0.05
|
||||
#pragma parameter SCANLINE_MIN " Minimum height" 1.0 0.05 1.0 0.05
|
||||
#pragma parameter SCANLINE_MAX " Maximum height" 1.0 0.05 25.0 0.1
|
||||
#pragma parameter SCANLINE_DARK " Gap brightness" 0.0 -0.5 1.0 0.05
|
||||
#pragma parameter SCANLINE_COMPENSATION " Compensate for brightness loss" 0.0 0.0 1.0 0.1
|
||||
#pragma parameter SCANLINES_BLEEDING " Scanlines bleeding" 0.0 0.0 3.0 0.05
|
||||
#pragma parameter SCANLINE_FLICKERING " Interlace Flicker (0=off,1=on,2=if interlaced)" 2.0 0.0 2.0 1.0
|
||||
#pragma parameter SCANLINE_FLICKERING_POWER " Interlace Flicker power" 0.75 0.0 4.0 0.1
|
||||
#pragma parameter SCANLINE_DISABLE_ON_INTERLACE " Disable on interlaced screen" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter BLANK11 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
#pragma parameter SCANLINE_SM_TYPE " Slotmask type (disable (0) with darklines!)" 0.0 0.0 3.0 1.0
|
||||
#pragma parameter SCANLINE_SM_STRENGTH " . Slotmask strength (type 1 and 2 only)" 0.0 0.0 1.0 0.05
|
||||
#pragma parameter SCANLINE_SM_STRENGTH " . Slotmask strength (type 1 and 2 only)" 1.0 0.0 1.0 0.05
|
||||
#pragma parameter SCANLINE_SM_VOFFSET " . Offset (type 1 only)" 45.0 0.0 158.0 1.0
|
||||
#pragma parameter BLANK12 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
//p1.20,r2.0
|
||||
// Bloom
|
||||
#pragma parameter DO_BLOOM "★ Bloom enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter BLOOM_MIX " Final mix, (0.0=off)" 0.2 0.0 1.0 0.01
|
||||
#pragma parameter BLOOM_SIZE " Radius" 2.0 0.25 30.0 0.25
|
||||
#pragma parameter BLOOM_QUALITY " Quality: more is better but slower" 1.0 1.0 32.0 1.0
|
||||
#pragma parameter BLOOM_GAMMA " Input Gamma" 10.0 1.0 10.0 0.1
|
||||
#pragma parameter BLOOM_POWER " Power multiplier" 10.0 1.0 100.0 0.5
|
||||
#pragma parameter BLOOM_GAMMA_OUT " Output Gamma" 10.0 0.1 10.0 0.1
|
||||
#pragma parameter BLOOM_OVER_WHITE " Strength on bright areas (0 = aura)" 0.5 0.0 1.0 0.05
|
||||
#pragma parameter BLOOM_BYPASS " Bypass" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter DO_BLOOM "★ Bloom enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter BLOOM_MIX " Final mix, (0.0=off)" 0.45 0.0 1.0 0.01
|
||||
#pragma parameter BLOOM_SIZE " Radius" 4.0 0.25 30.0 0.25
|
||||
#pragma parameter BLOOM_QUALITY " Quality: more is better but slower" 1.0 1.0 8.0 1.0
|
||||
#pragma parameter BLOOM_GAMMA " Gamma in (threshold)" 8.0 1.0 10.0 0.5
|
||||
#pragma parameter BLOOM_GAMMA_OUT " Gamma out (contour smoothness)" 1.0 0.1 10.0 0.1
|
||||
#pragma parameter BLOOM_POWER " Power multiplier" 1.20 1.0 20.0 0.05
|
||||
#pragma parameter BLOOM_EYE_ADPT_SRT " Modulate: Local exposure eye adaption strength" 0.45 0.0 10.0 0.05
|
||||
#pragma parameter BLOOM_EYE_INERTIA " Modulate: Time before eye adaption starts" 1500 10.0 10000 50.0
|
||||
#pragma parameter BLOOM_OVER_WHITE " Modulate: Strength on bright areas (0 = aura)" 0.5 0.0 1.0 0.05
|
||||
#pragma parameter BLOOM_BYPASS " Bypass/Solo (1=Unmodulated, 2=Modulated)" 0.0 0.0 2.0 1.0
|
||||
#pragma parameter BLANK13 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
//Curvature parameters:
|
||||
#pragma parameter DO_CURVATURE "★ Curvature enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter GEOM_WARP_X " Warp X" 0.3 0.0 6.0 0.05
|
||||
#pragma parameter GEOM_WARP_Y " Warp Y" 0.0 0.0 6.0 0.05
|
||||
#pragma parameter GEOM_CORNER_SIZE " Corner radius" 0.01 0.01 0.1 0.005
|
||||
#pragma parameter GEOM_CORNER_SMOOTH " Corner sharpness" 350.0 50.0 1000.0 25.0
|
||||
#pragma parameter GEOM_WARP_X " Warp X" 0.3 0.0 6.0 0.025
|
||||
#pragma parameter GEOM_WARP_Y " Warp Y" 0.0 0.0 6.0 0.025
|
||||
#pragma parameter GEOM_CORNER_SIZE " Corner radius" 0.005 0.005 0.1 0.001
|
||||
#pragma parameter GEOM_CORNER_SMOOTH " Corner sharpness" 350.0 15.0 1000.0 1.0
|
||||
#pragma parameter BLANK14 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
//Bezel related
|
||||
#pragma parameter DO_BEZEL "★ Bezel enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter BEZEL_R " Bezel color: Red" -0.3 -0.5 0.5 0.01
|
||||
#pragma parameter BEZEL_G " Bezel color: Green" -0.3 -0.5 0.5 0.01
|
||||
#pragma parameter BEZEL_B " Bezel color: Blue" -0.3 -0.5 0.5 0.01
|
||||
#pragma parameter BEZEL_CON " Bezel Contrast" 1.3 0.0 10.0 0.01
|
||||
#pragma parameter BEZEL_INNER_ZOOM " Image zoom" -0.18 -1.5 0.5 0.01
|
||||
#pragma parameter BEZEL_FRAME_ZOOM " Frame zoom" 0.0 -1.5 0.5 0.01
|
||||
#pragma parameter BEZEL_IMAGE_BORDER " Image border" 1.01 1.0 1.2 0.01
|
||||
#pragma parameter BEZEL_REFL_ZOOM " Reflections zoom" 0.965 0.0 2.0 0.005
|
||||
#pragma parameter DO_BEZEL "★ Bezel enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter BEZEL_USE_STRAIGHT " Straight" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter BEZEL_R " Color: Red" -0.3 -0.5 0.5 0.01
|
||||
#pragma parameter BEZEL_G " Color: Green" -0.3 -0.5 0.5 0.01
|
||||
#pragma parameter BEZEL_B " Color: Blue" -0.3 -0.5 0.5 0.01
|
||||
#pragma parameter BEZEL_CON " Contrast" 1.3 0.0 10.0 0.01
|
||||
#pragma parameter BEZEL_INNER_ZOOM " Image zoom" -0.18 -1.5 0.5 0.005
|
||||
#pragma parameter BEZEL_FRAME_ZOOM " Frame zoom" 0.0 -1.5 0.5 0.005
|
||||
#pragma parameter BEZEL_IMAGE_BORDER " Image border" 1.01 1.0 1.2 0.01
|
||||
#pragma parameter BEZEL_REFL_STRENGTH " Reflection strength" 0.5 0.0 1.0 0.01
|
||||
#pragma parameter BEZEL_RFL_BLR_SHD " Sharp reflections" 0.0 -1.0 1.0 0.1
|
||||
#pragma parameter BEZEL_RFL_OFFSET " Align reflections: offset" 0.003 -0.01 0.01 0.001
|
||||
#pragma parameter BEZEL_REFL_ZOOM " Align reflections: zoom" 0.98 0.8 1.2 0.001
|
||||
|
||||
|
||||
#pragma parameter BLANK15 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
//Background Image
|
||||
#pragma parameter DO_BG_IMAGE "★ Backgound image enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter LABEL_WARNING1 " ⚠ RetroArch aspect needs to be set to Full! ⚠" 1.0 1.0 1.0 1.0
|
||||
#pragma parameter BG_IMAGE_OVER " Image over content (alpha channel driven)?" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter BG_IMAGE_OFFX " Shift Image over X axis" 0.0 -1.0 1.0 0.0005
|
||||
#pragma parameter BG_IMAGE_OFFY " Shift Image over Y axis" 0.0 -1.0 1.0 0.0005
|
||||
#pragma parameter BG_IMAGE_ZOOM " Zoom Image" 1.0 -1.0 3.0 0.0005
|
||||
#pragma parameter BG_IMAGE_ROTATION " Rotate image mode (-1 for auto)" -1.0 -1.0 2.0 1.0
|
||||
#pragma parameter DO_BG_IMAGE "★ Backgound image enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter LABEL_WARNING1 " ⚠ RetroArch aspect needs to be set to Full! ⚠" 1.0 1.0 1.0 1.0
|
||||
#pragma parameter BG_IMAGE_OVER " Image over content (alpha channel driven)?" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter BG_IMAGE_OFFX " Shift Image over X axis" 0.0 -1.0 1.0 0.0005
|
||||
#pragma parameter BG_IMAGE_OFFY " Shift Image over Y axis" 0.0 -1.0 1.0 0.0005
|
||||
#pragma parameter BG_IMAGE_ZOOM " Zoom Image" 1.0 -1.0 3.0 0.0005
|
||||
#pragma parameter BG_IMAGE_ROTATION " Rotate image mode (-1 for auto)" -1.0 -1.0 2.0 1.0
|
||||
#pragma parameter BG_IMAGE_WRAP_MODE " Wrap mode: default, clamp to border, edge, repeat" 0.0 0.0 3.0 1.0
|
||||
#pragma parameter BLANK16 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
//Back leds
|
||||
//Emulates leds under the monitor frame that slowly reacts to image contents
|
||||
#pragma parameter DO_AMBILIGHT "★ Ambient light leds enable? ==> " 1.0 0.0 1.0 1.0
|
||||
#pragma parameter LABEL_WARNING3 " ⚠ RetroArch aspect needs to be set to Full! ⚠" 1.0 1.0 1.0 1.0
|
||||
#pragma parameter LABEL_WARNING4 " ⚠ Resize the window once if you see glitches! ⚠" 1.0 1.0 1.0 1.0
|
||||
#pragma parameter AMBI_STEPS " Slowness" 60.0 5.0 1000.0 5.0
|
||||
#pragma parameter AMBI_FALLOFF " Light Falloff" 0.7 0.1 3.0 0.01
|
||||
#pragma parameter AMBI_POWER " Led power" 1.5 1.0 7.0 0.05
|
||||
#pragma parameter DO_AMBILIGHT "★ Ambient light leds enable? ==> " 1.0 0.0 1.0 1.0
|
||||
#pragma parameter LABEL_WARNING3 " ⚠ RetroArch aspect needs to be set to Full! ⚠" 1.0 1.0 1.0 1.0
|
||||
#pragma parameter AMBI_STEPS " Slowness" 60.0 5.0 1000.0 5.0
|
||||
#pragma parameter AMBI_FALLOFF " Light Falloff" 0.7 0.1 3.0 0.01
|
||||
#pragma parameter AMBI_POWER " Led power" 1.5 1.0 7.0 0.05
|
||||
#pragma parameter AMBI_OVER_BEZEL " Colorize Bezel" 0.1 0.0 1.0 0.01
|
||||
#pragma parameter BLANK17 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
//Full screen glowing
|
||||
//Modulate the image zooming depending on the image luminosity.
|
||||
//You can lower the effect power through the DYNZOOM_FACTOR parameter.
|
||||
#pragma parameter DO_DYNZOOM "★ Luminosity dependant zoom enable? ==>" 1.0 0.0 1.0 1.0
|
||||
#pragma parameter DYNZOOM_FACTOR " Narrowness" 80.0 15.0 120.0 0.5
|
||||
#pragma parameter BLANK18 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
//Vignette and spot
|
||||
#pragma parameter DO_VIGNETTE "★ Vignette enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter V_SIZE " Size" 1.7 0.0 5.0 0.05
|
||||
#pragma parameter V_POWER " Power" 1.1 0.05 2.0 0.01
|
||||
|
||||
#pragma parameter DO_SPOT "★ Spot enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter S_POSITION " Position" 0.0 -420.0 378.0 1
|
||||
#pragma parameter S_SIZE " Size" 0.4 0.0 1.0 0.01
|
||||
#pragma parameter S_POWER " Power" 0.1 0.05 2.0 0.01
|
||||
#pragma parameter BLANK19 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
// Alternative blanking
|
||||
#pragma parameter DO_ALT_BLANK "★ Alternate line blanking enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter ALT_BLANK_STRENGTH " Alternate black frame insertion strength" 0.5 0.0 1.0 0.1
|
||||
#pragma parameter ALT_BLANK_PERIOD " Blank lines period" 4.0 0.0 20.0 1.0
|
||||
#pragma parameter BLANK20 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
//Global Zoom/Offset
|
||||
#pragma parameter DO_GLOBAL_SHZO "★ Global shift/zoom" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter GLOBAL_OFFX " X axis shift " 0.0 -1.0 1.0 0.0005
|
||||
#pragma parameter GLOBAL_OFFY " Y axis shift " 0.0 -1.0 1.0 0.0005
|
||||
#pragma parameter GLOBAL_ZOOM " Zoom" 2.0 0.0 3.0 0.0005
|
||||
#pragma parameter BLANK21 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
//Aspect Ratio
|
||||
#pragma parameter label_ar "★ Aspect Ratio " 0.0 0.0 1.0 1.0
|
||||
#pragma parameter ASPECT_X " Aspect Ratio Numerator (-x for a preset below)" 0.0 -6.0 256. 1.0
|
||||
#pragma parameter ASPECT_X " Aspect Ratio Numerator (<=0 for a preset)" 0.0 -6.0 256. 1.0
|
||||
#pragma parameter ASPECT_Y " Aspect Ratio Denominator" 3.0 0.0 256. 1.0
|
||||
#pragma parameter BLANK22 " " 0.0 0.0 1.0 1.0
|
||||
#pragma parameter label_aspect_presets " Presets reference list:" 0.0 0.0 0.0 1.0
|
||||
#pragma parameter label_aspect_preset0 " (0 = MAME 1.33)" 0.0 0.0 0.0 1.0
|
||||
#pragma parameter label_aspect_preset1 " (-1 = NTSC 1.5)" 0.0 0.0 0.0 1.0
|
||||
@ -344,165 +493,4 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
||||
|
||||
|
||||
|
||||
//Full screen glowing
|
||||
//Modulate the image zooming depending on the image luminosity.
|
||||
//You can lower the effect power through the DYNZOOM_FACTOR parameter.
|
||||
#pragma parameter DO_DYNZOOM "★ Luminosity dependant zoom enable? ==>" 1.0 0.0 1.0 1.0
|
||||
#pragma parameter DYNZOOM_FACTOR " Narrowness" 80.0 30.0 120.0 1.0
|
||||
|
||||
|
||||
|
||||
//Vignette and spot
|
||||
#pragma parameter DO_VIGNETTE "★ Vignette enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter V_BYPASS " bypass " 0.0 0.0 1.0 1.0
|
||||
#pragma parameter V_SIZE " size" 1.7 0.0 3.0 0.05
|
||||
#pragma parameter V_POWER " power" 1.1 0.05 2.0 0.05
|
||||
|
||||
#pragma parameter DO_SPOT "★ Spot enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter S_BYPASS " bypass" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter S_POSITION " Position" 0.0 -420.0 378.0 1
|
||||
#pragma parameter S_SIZE " size" 0.4 0.0 1.0 0.01
|
||||
#pragma parameter S_POWER " power" 0.1 0.05 2.0 0.05
|
||||
|
||||
|
||||
|
||||
// Alternative blanking.
|
||||
#pragma parameter DO_ALT_BLANK "★ Alternate line blanking enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter ALT_BLANK_STRENGTH " Alternate black frame insertion strength" 0.5 0.0 1.0 0.1
|
||||
#pragma parameter ALT_BLANK_PERIOD " Blank lines period" 4.0 0.0 20.0 1.0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define DO_FXAA global.DO_FXAA
|
||||
|
||||
#define DO_SAT_BLEED global.DO_SAT_BLEED
|
||||
#define SAT_BLEED_SIZE_LEFT global.SAT_BLEED_SIZE_LEFT
|
||||
#define SAT_BLEED_SIZE_RIGHT global.SAT_BLEED_SIZE_RIGHT
|
||||
#define SAT_BLEED_FALLOFF global.SAT_BLEED_FALLOFF
|
||||
#define SAT_BLEED_STRENGTH global.SAT_BLEED_STRENGTH
|
||||
#define SAT_BLEED_PAL global.SAT_BLEED_PAL
|
||||
|
||||
#define DO_NTSC_ARTIFACTS global.DO_NTSC_ARTIFACTS
|
||||
#define NTSC_FILTER_WIDTH global.NTSC_FILTER_WIDTH
|
||||
#define NTSC_FILTER_SCF global.NTSC_FILTER_SCF
|
||||
#define NTSC_FILTER_FC global.NTSC_FILTER_FC
|
||||
#define NTSC_MIX global.NTSC_MIX
|
||||
#define NTSC_PHASE_SHIFT global.NTSC_PHASE_SHIFT
|
||||
//#define NTSC_DOT_CRAWL global.NTSC_DOT_CRAWL
|
||||
|
||||
#define DO_SCANLINES global.DO_SCANLINES
|
||||
#define SCANLINE_DARK params.SCANLINE_DARK
|
||||
#define SCANLINE_OVERWHITE global.SCANLINE_OVERWHITE
|
||||
#define SCANLINE_FLICKERING global.SCANLINE_FLICKERING
|
||||
#define SCANLINE_FLICKERING_POWER global.SCANLINE_FLICKERING_POWER
|
||||
#define SCANLINE_DISABLE_ON_INTERLACE global.SCANLINE_DISABLE_ON_INTERLACE
|
||||
#define SCANLINE_COMPENSATION global.SCANLINE_COMPENSATION
|
||||
#define SCANLINE_SM_TYPE global.SCANLINE_SM_TYPE
|
||||
#define SCANLINE_SM_STRENGTH global.SCANLINE_SM_STRENGTH
|
||||
#define SCANLINE_SM_VOFFSET global.SCANLINE_SM_VOFFSET
|
||||
|
||||
#define DO_IN_GLOW global.DO_IN_GLOW
|
||||
#define IN_GLOW_BIAS global.IN_GLOW_BIAS
|
||||
#define SCANLINES_BLEEDING global.SCANLINES_BLEEDING
|
||||
#define IN_GLOW_W global.IN_GLOW_W
|
||||
#define IN_GLOW_H global.IN_GLOW_H
|
||||
#define IN_GLOW_POWER global.IN_GLOW_POWER
|
||||
#define IN_GLOW_GAMMA global.IN_GLOW_GAMMA
|
||||
|
||||
#define DO_VMASK_AND_DARKLINES global.DO_VMASK_AND_DARKLINES
|
||||
#define MASK_COMPENSATION global.MASK_COMPENSATION
|
||||
#define RGB_MASK_STRENGTH global.RGB_MASK_STRENGTH
|
||||
#define VMASK_OVERWHITE params.VMASK_OVERWHITE
|
||||
#define VMASK_DARKLINE_SCALE params.VMASK_DARKLINE_SCALE
|
||||
#define VMASK_GAP params.VMASK_GAP
|
||||
#define VMASK_USE_GM params.VMASK_USE_GM
|
||||
|
||||
#define DARKLINES_STRENGTH global.DARKLINES_STRENGTH
|
||||
#define DRKLN_OVERWHITE params.DRKLN_OVERWHITE
|
||||
#define DARKLINES_VOFFSET params.DARKLINES_VOFFSET
|
||||
#define DARKLINES_PERIOD params.DARKLINES_PERIOD
|
||||
|
||||
#define DO_HALO global.DO_HALO
|
||||
#define HALO_W params.HALO_W
|
||||
#define HALO_H params.HALO_H
|
||||
#define HALO_POWER params.HALO_POWER
|
||||
#define HALO_GAMMA params.HALO_GAMMA
|
||||
#define HALO_VS_SCAN params.HALO_VS_SCAN
|
||||
|
||||
#define DO_BLOOM params.DO_BLOOM
|
||||
#define BLOOM_MIX global.BLOOM_MIX
|
||||
#define BLOOM_QUALITY params.BLOOM_QUALITY
|
||||
#define BLOOM_SIZE global.BLOOM_SIZE
|
||||
#define BLOOM_GAMMA global.BLOOM_GAMMA
|
||||
#define BLOOM_POWER global.BLOOM_POWER
|
||||
#define BLOOM_GAMMA_OUT global.BLOOM_GAMMA_OUT
|
||||
#define BLOOM_OVER_WHITE global.BLOOM_OVER_WHITE
|
||||
#define BLOOM_BYPASS global.BLOOM_BYPASS
|
||||
|
||||
|
||||
#define DO_CCORRECTION global.DO_CCORRECTION
|
||||
#define GAMMA_OUT global.GAMMA_OUT
|
||||
#define SATURATION global.SATURATION
|
||||
#define LUMINANCE global.LUMINANCE
|
||||
#define CONTRAST global.CONTRAST
|
||||
#define BRIGHTNESS global.BRIGHTNESS
|
||||
#define TEMPERATURE global.TEMPERATURE
|
||||
|
||||
#define DO_ALT_BLANK global.DO_ALT_BLANK
|
||||
#define ALT_BLANK_STRENGTH global.ALT_BLANK_STRENGTH
|
||||
#define ALT_BLANK_PERIOD global.ALT_BLANK_PERIOD
|
||||
|
||||
|
||||
#define DO_CURVATURE global.DO_CURVATURE
|
||||
#define GEOM_WARP_X global.GEOM_WARP_X
|
||||
#define GEOM_WARP_Y global.GEOM_WARP_Y
|
||||
#define GEOM_CORNER_SIZE global.GEOM_CORNER_SIZE
|
||||
#define GEOM_CORNER_SMOOTH global.GEOM_CORNER_SMOOTH
|
||||
|
||||
|
||||
#define DO_BEZEL global.DO_BEZEL
|
||||
#define BEZEL_R global.BEZEL_R
|
||||
#define BEZEL_G global.BEZEL_G
|
||||
#define BEZEL_B global.BEZEL_B
|
||||
#define BEZEL_CON global.BEZEL_CON
|
||||
#define BEZEL_INNER_ZOOM global.BEZEL_INNER_ZOOM
|
||||
#define BEZEL_FRAME_ZOOM global.BEZEL_FRAME_ZOOM
|
||||
#define BEZEL_IMAGE_BORDER global.BEZEL_IMAGE_BORDER
|
||||
#define BEZEL_REFL_ZOOM global.BEZEL_REFL_ZOOM
|
||||
|
||||
#define DO_SPOT global.DO_SPOT
|
||||
#define S_BYPASS global.S_BYPASS
|
||||
#define S_POSITION global.S_POSITION
|
||||
#define S_SIZE global.S_SIZE
|
||||
#define S_POWER global.S_POWER
|
||||
|
||||
#define DO_DYNZOOM global.DO_DYNZOOM
|
||||
#define DYNZOOM_FACTOR global.DYNZOOM_FACTOR
|
||||
|
||||
#define DO_VIGNETTE global.DO_VIGNETTE
|
||||
#define V_BYPASS global.V_BYPASS
|
||||
#define V_SIZE global.V_SIZE
|
||||
#define V_POWER global.V_POWER
|
||||
|
||||
#define DO_AMBILIGHT global.DO_AMBILIGHT
|
||||
#define AMBI_STEPS global.AMBI_STEPS
|
||||
#define AMBI_FALLOFF global.AMBI_FALLOFF
|
||||
#define AMBI_POWER global.AMBI_POWER
|
||||
#define ASPECT_X global.ASPECT_X
|
||||
#define ASPECT_Y global.ASPECT_Y
|
||||
|
||||
#define DO_BG_IMAGE global.DO_BG_IMAGE
|
||||
#define BG_IMAGE_OVER global.BG_IMAGE_OVER
|
||||
#define BG_IMAGE_OFFY global.BG_IMAGE_OFFY
|
||||
#define BG_IMAGE_OFFX global.BG_IMAGE_OFFX
|
||||
#define BG_IMAGE_ZOOM global.BG_IMAGE_ZOOM
|
||||
#define BG_IMAGE_ROTATION global.BG_IMAGE_ROTATION
|
||||
|
||||
#define DO_SHIFT_RGB global.DO_SHIFT_RGB
|
||||
#define SHIFT_R global.SHIFT_R
|
||||
#define SHIFT_G global.SHIFT_G
|
||||
#define SHIFT_B global.SHIFT_B
|
||||
#define OFFSET_STRENGTH global.OFFSET_STRENGTH
|
||||
#include "config.globals.inc"
|
||||
|
@ -18,19 +18,69 @@ layout(location = 2) out vec2 spot_offset;
|
||||
layout(location = 3) out vec2 vFragCoord;
|
||||
layout(location = 4) out float vIsRotated;
|
||||
|
||||
|
||||
//Curvature:
|
||||
layout(location = 5) out vec2 vWarp_vexp;
|
||||
layout(location = 6) out vec2 vWarp_arg2;
|
||||
|
||||
//Scanlines:
|
||||
layout(location = 7) out float vIsInterlaced;
|
||||
layout(location = 8) out float vFlickeringScanlines;
|
||||
layout(location = 9) out float vScanlinePeriod;
|
||||
layout(location = 10) out float vScanlinesAlternate;
|
||||
|
||||
//Vignette, spot:
|
||||
layout(location = 11) out float vIn_aspect;
|
||||
|
||||
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vIsRotated = float(is_rotated());
|
||||
vTexCoord = get_scaled_coords(TexCoord,global.FinalViewportSize, bool(vIsRotated) ) + vec2(0.00001);
|
||||
vIn_aspect = get_in_aspect();
|
||||
vTexCoord = get_scaled_coords_aspect(TexCoord,global.FinalViewportSize, vIn_aspect, bool(vIsRotated)) + vec2(0.00001);
|
||||
|
||||
if (DO_GLOBAL_SHZO >0.5)
|
||||
vTexCoord = zoom(vTexCoord + vec2(-GLOBAL_OFFX, -GLOBAL_OFFY), GLOBAL_ZOOM );
|
||||
|
||||
vOutputCoord = TexCoord;
|
||||
|
||||
spot_offset = offsets_from_float(S_POSITION+420.0,40);
|
||||
spot_offset = spot_offset / 10.0 + vec2(0.0,1.0);
|
||||
|
||||
|
||||
vFragCoord = vec2( floor(vOutputCoord.x * params.OutputSize.x),
|
||||
floor(vOutputCoord.y * params.OutputSize.y));
|
||||
|
||||
//Precalc some Curvature/Warp values:
|
||||
vec2 geom_warp_adapted = vec2(GEOM_WARP_X, GEOM_WARP_Y);
|
||||
|
||||
/* if (DO_BEZEL > 0.0) {
|
||||
geom_warp_adapted *= (-BEZEL_INNER_ZOOM) + 1;
|
||||
}*/
|
||||
vWarp_vexp = 1.0/ (1 + (vec2(geom_warp_adapted.x, geom_warp_adapted.y) * 0.2)) ;
|
||||
|
||||
|
||||
vWarp_arg2 = 1.0 - pow(vec2(0.29289321881345247559915563789515), vWarp_vexp );
|
||||
|
||||
//Help scanline code too:
|
||||
if (DO_SCANLINES > 0.5) {
|
||||
bool bIs_Interlaced = is_interlaced();
|
||||
vIsInterlaced = float(bIs_Interlaced);
|
||||
vFlickeringScanlines = float((DO_SCANLINES == 1.0) && scanline_have_to_flicker(bIs_Interlaced)) ;
|
||||
|
||||
//Scanline period:
|
||||
vScanlinePeriod = 1.0;
|
||||
vScanlinesAlternate = 0.0;
|
||||
if (bIs_Interlaced) {
|
||||
if (params.FrameCount % 2 == 0.0) vScanlinesAlternate = 1.0;
|
||||
if (params.OriginalSize.y > MIN_LINES_INTERLACED ) vScanlinePeriod = 0.5;
|
||||
}
|
||||
//vScanlinePhase = 0.0;
|
||||
//vScanlinePhase = vScanlinePeriod * pi - pi/4.0; //<-- needed to match scanlines done in first_pass. //FIXME check what happens for highter res.
|
||||
}
|
||||
//SPOT
|
||||
spot_offset = offsets_from_float(S_POSITION+420.0,40);
|
||||
spot_offset = spot_offset / 10.0 + vec2(0.0,1.0);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -40,25 +90,33 @@ layout(location = 1) in vec2 vOutputCoord;
|
||||
layout(location = 2) in vec2 spot_offset;
|
||||
layout(location = 3) in vec2 vFragCoord;
|
||||
layout(location = 4) in float vIsRotated;
|
||||
layout(location = 5) in vec2 vWarp_vexp;
|
||||
layout(location = 6) in vec2 vWarp_arg2;
|
||||
layout(location = 7) in float vIsInterlaced;
|
||||
layout(location = 8) in float vFlickeringScanlines;
|
||||
layout(location = 9) in float vScanlinePeriod;
|
||||
layout(location = 10) in float vScanlinesAlternate;
|
||||
layout(location = 11) in float vIn_aspect;
|
||||
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
|
||||
#ifdef STATIC_SUPPORT_BACKDROP
|
||||
layout(set = 0, binding = 1) uniform sampler2D backdrop;
|
||||
#else
|
||||
layout(set = 0, binding = 1) uniform sampler2D first_pass;
|
||||
#endif
|
||||
layout(set = 0, binding = 2) uniform sampler2D bloom_pass_final;
|
||||
layout(set = 0, binding = 3) uniform sampler2D reflected_blurred_pass2;
|
||||
layout(set = 0, binding = 4) uniform sampler2D ambi_temporal_pass;
|
||||
layout(set = 0, binding = 5) uniform sampler2D avglum_pass;
|
||||
layout(set = 0, binding = 6) uniform sampler2D monitor_body;
|
||||
layout(set = 0, binding = 7) uniform sampler2D bg_under;
|
||||
layout(set = 0, binding = 8) uniform sampler2D bg_over;
|
||||
layout(set = 0, binding = 9) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 6) uniform sampler2D monitor_body_straight;
|
||||
layout(set = 0, binding = 7) uniform sampler2D monitor_body_curved;
|
||||
layout(set = 0, binding = 8) uniform sampler2D bg_under;
|
||||
layout(set = 0, binding = 9) uniform sampler2D bg_over;
|
||||
layout(set = 0, binding = 10) uniform sampler2D shift_and_bleed_pass;
|
||||
|
||||
//Ex main_pass layouts:
|
||||
layout(set = 0, binding = 11) uniform sampler2D FXAA_pass;
|
||||
layout(set = 0, binding = 12) uniform sampler2D in_glow_pass;
|
||||
layout(set = 0, binding = 13) uniform sampler2D halo_pass;
|
||||
layout(set = 0, binding = 14) uniform sampler2D avglum_passFeedback;
|
||||
layout(set = 0, binding = 11) uniform sampler2D in_glow_pass;
|
||||
layout(set = 0, binding = 12) uniform sampler2D halo_pass;
|
||||
|
||||
|
||||
#define HALF_PI 1.5707963267949
|
||||
@ -66,7 +124,7 @@ layout(set = 0, binding = 10) uniform sampler2D shift_and_bleed_pass;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
vec3 pixel_vmask(vec3 source, vec3 white_reference, float over_white) {
|
||||
vec3 pixel_vmask(vec3 source, float white_reference, float over_white) {
|
||||
// Simple RGB mask emulation with or without horizontal gap
|
||||
float ooo = 1.0 - RGB_MASK_STRENGTH;
|
||||
|
||||
@ -91,17 +149,62 @@ vec3 pixel_vmask(vec3 source, vec3 white_reference, float over_white) {
|
||||
|
||||
if (over_white == 1.0) pixel_out = vmasked;
|
||||
else {
|
||||
float whiteness=max(max(white_reference.r,white_reference.g),white_reference.b);
|
||||
whiteness-= over_white;
|
||||
whiteness= clamp(whiteness,0.0,1.0);
|
||||
pixel_out= mix(vmasked,source,whiteness);
|
||||
white_reference-= over_white;
|
||||
white_reference= clamp(white_reference,0.0,1.0);
|
||||
pixel_out= mix(vmasked,source,white_reference);
|
||||
}
|
||||
return pixel_out;
|
||||
|
||||
}
|
||||
|
||||
|
||||
vec3 pixel_vmask_gm(vec3 source, vec3 white_reference, float over_white) {
|
||||
vec3 pixel_vmask_and_gm(vec3 source, float white_reference, float over_white) {
|
||||
// Simple RGB mask emulation with or without horizontal gap
|
||||
float ooo = 1.0 - RGB_MASK_STRENGTH;
|
||||
|
||||
// RGB mask: R G B
|
||||
vec3 m1_rgb = vec3( 1.0 , ooo , ooo ); //col 1
|
||||
vec3 m2_rgb = vec3( ooo , 1.0 , ooo ); //col 2
|
||||
vec3 m3_rgb = vec3( ooo , ooo , 1.0 ); //col 3
|
||||
vec3 gap = vec3( ooo );
|
||||
|
||||
vec3 m1_gm = vec3( ooo , 1.0 , ooo ); //col 1
|
||||
vec3 m2_gm = vec3( 1.0 , ooo , 1.0 ); //col 2
|
||||
|
||||
|
||||
vec3 m1 = (m1_gm * VMASK_USE_GM) + (m1_rgb * (1-VMASK_USE_GM));
|
||||
vec3 m2 = (m2_gm * VMASK_USE_GM) + (m2_rgb * (1-VMASK_USE_GM));
|
||||
vec3 m3 = m3_rgb;
|
||||
|
||||
|
||||
vec3 pixel_out;
|
||||
vec3 vmasked;
|
||||
vec4 vec_mod_rgb = vec4(3,1,2,3);
|
||||
vec4 vec_mod_gm = vec4(2,1,2,0.0);
|
||||
vec4 vec_mod = (vec_mod_gm * VMASK_USE_GM) + (vec_mod_rgb* (1-VMASK_USE_GM));
|
||||
vec_mod=(vec_mod + vec4(VMASK_GAP,0.0,0.0,0.0))* VMASK_DARKLINE_SCALE ;
|
||||
|
||||
|
||||
float fcol = vOutputCoord.s * params.OutputSize.x;
|
||||
if (mod(fcol, vec_mod.x) < vec_mod.y)
|
||||
vmasked = m1 * source;
|
||||
else if (mod(fcol, vec_mod.x) < vec_mod.z)
|
||||
vmasked = m2 * source;
|
||||
else if ( mod(fcol, vec_mod.x) < vec_mod.w && VMASK_USE_GM < 1.0 )
|
||||
vmasked = m3 * source;
|
||||
else vmasked = gap * source;
|
||||
|
||||
if (over_white == 1.0) pixel_out = vmasked;
|
||||
else {
|
||||
white_reference-= over_white;
|
||||
white_reference= clamp(white_reference,0.0,1.0);
|
||||
pixel_out= mix(vmasked,source,white_reference);
|
||||
}
|
||||
return pixel_out;
|
||||
|
||||
}
|
||||
|
||||
|
||||
vec3 pixel_vmask_gm(vec3 source, float white_reference, float over_white) {
|
||||
// Simple RGB mask emulation with or without horizontal gap
|
||||
float ooo = 1.0 - RGB_MASK_STRENGTH;
|
||||
// RGB mask: R G B
|
||||
@ -123,31 +226,19 @@ vec3 pixel_vmask_gm(vec3 source, vec3 white_reference, float over_white) {
|
||||
|
||||
if (over_white == 1.0) pixel_out = vmasked;
|
||||
else {
|
||||
float whiteness=max(max(white_reference.r,white_reference.g),white_reference.b);
|
||||
whiteness-= over_white;
|
||||
whiteness= clamp(whiteness,0.0,1.0);
|
||||
pixel_out= mix(vmasked,source,whiteness);
|
||||
white_reference-= over_white;
|
||||
white_reference= clamp(white_reference,0.0,1.0);
|
||||
pixel_out= mix(vmasked,source,white_reference);
|
||||
}
|
||||
|
||||
return pixel_out;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*bool drawit( float period, float off, vec2 coords){
|
||||
coords = vTexCoord;
|
||||
float first_pass_size_y = global.first_passSize.y * period;
|
||||
float current_line_int = floor(coords.y * first_pass_size_y) + off ;
|
||||
float screenline_height = first_pass_size_y/params.OutputSize.y;//; params.OutputSize.y/first_pass_size_y;
|
||||
return (coords.y * first_pass_size_y > current_line_int) &&
|
||||
(coords.y * first_pass_size_y < current_line_int+screenline_height) ;
|
||||
}*/
|
||||
|
||||
vec3 pixel_darklines(vec3 source,float darkline_every, float darkline_trans,
|
||||
float do_offset, vec3 white_reference,float over_white, vec2 coords) {
|
||||
/* "darklines" are vertical gaps that can be used to emulate aperturegrille
|
||||
* or slotmasks
|
||||
*/
|
||||
/*vec3 pixel_darklines_old(vec3 source,float darkline_every, float darkline_trans,
|
||||
float do_offset, float white_reference,float over_white, vec2 coords) {
|
||||
// "darklines" are vertical gaps that can be used to emulate aperturegrille
|
||||
// or slotmasks
|
||||
//
|
||||
|
||||
float Darkline_part_w = (3.0 - VMASK_USE_GM + VMASK_GAP) * VMASK_DARKLINE_SCALE;
|
||||
float Darkline_part_w_x2 = Darkline_part_w*2;
|
||||
@ -156,8 +247,7 @@ vec3 pixel_darklines(vec3 source,float darkline_every, float darkline_trans,
|
||||
|
||||
if (over_white != 1.0) {
|
||||
//less effect on bright colors.
|
||||
float whiteness=max(max(white_reference.r,white_reference.g),white_reference.b);
|
||||
darkline_trans+=(whiteness-over_white);
|
||||
darkline_trans+=(white_reference-over_white);
|
||||
darkline_trans=clamp(darkline_trans,0.0,1.0);
|
||||
}
|
||||
|
||||
@ -167,14 +257,7 @@ vec3 pixel_darklines(vec3 source,float darkline_every, float darkline_trans,
|
||||
bool odd_line_piu_densa = !(mod(vFragCoord.y, darkline_every/2) < VMASK_DARKLINE_SCALE && odd_line_meno_densa);
|
||||
bool odd_column = mod(vFragCoord.x + Darkline_part_w , Darkline_part_w_x2) < Darkline_part_w;
|
||||
bool draw_mask = odd_line_piu_densa && !odd_column || odd_column && odd_line_meno_densa;
|
||||
|
||||
/*
|
||||
//quante scanline è alta la darkline
|
||||
float darkline_height = 1/2.0;
|
||||
draw_mask = drawit(darkline_height,0.0, coords) && odd_column || drawit(darkline_height,0.5, coords) && !odd_column;
|
||||
return source * float(!draw_mask);
|
||||
*/
|
||||
|
||||
|
||||
return source * clamp(float(draw_mask),darkline_trans,1.0);
|
||||
}
|
||||
|
||||
@ -182,32 +265,75 @@ vec3 pixel_darklines(vec3 source,float darkline_every, float darkline_trans,
|
||||
bool draw_dark = mod(vFragCoord.y, darkline_every) < VMASK_DARKLINE_SCALE;
|
||||
bool draw_color = !draw_dark;
|
||||
return source * ( float(draw_color) + float(draw_dark) * darkline_trans );
|
||||
}*/
|
||||
|
||||
|
||||
vec3 pixel_darklines(vec3 source,float darkline_every, float darkline_trans,
|
||||
float do_offset, float white_reference,float over_white, vec2 coords) {
|
||||
|
||||
|
||||
float period_x = (3.0 - VMASK_USE_GM + VMASK_GAP) * VMASK_DARKLINE_SCALE;
|
||||
float period_y = darkline_every * VMASK_DARKLINE_SCALE;
|
||||
|
||||
vec2 FragCoord = vFragCoord;
|
||||
|
||||
|
||||
if (over_white != 1.0) {
|
||||
//less effect on bright colors.
|
||||
darkline_trans+=(white_reference-over_white);
|
||||
darkline_trans=clamp(darkline_trans,0.0,1.0);
|
||||
}
|
||||
|
||||
|
||||
if (do_offset > 0.0) {
|
||||
float column = int(floor(mod(FragCoord.x, period_x*2.0)));
|
||||
if (column < period_x) FragCoord.y+=period_y/2.0;
|
||||
}
|
||||
|
||||
float row = int(floor(mod(FragCoord.y, period_y)));
|
||||
|
||||
if (row < VMASK_DARKLINE_SCALE)
|
||||
return source * darkline_trans;
|
||||
else
|
||||
return source;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
float scanline_shape(vec2 coords, bool do_flicker, bool is_interlaced, bool do_slotmask) {
|
||||
float scanline_shape(vec2 coords, bool do_slotmask, float lum) {
|
||||
/* Produces a B/W scanline shape to be multiplicated by the source
|
||||
* pixel later on to emulate scanline effect.
|
||||
* scanlines can be drawn on odd and even fields alternating on odd and
|
||||
* even frames to emulate that aspect of interlacing.
|
||||
*/
|
||||
|
||||
bool alternate = false;
|
||||
float period = 1.0;
|
||||
if (do_flicker) {
|
||||
if (params.FrameCount % 2 == 0.0) alternate = true;
|
||||
if (params.OriginalSize.y > MIN_LINES_INTERLACED ) period = 0.5;
|
||||
}
|
||||
float period = vScanlinePeriod;
|
||||
bool is_interlaced = bool(vIsInterlaced);
|
||||
bool alternate = bool(vScanlinesAlternate);
|
||||
bool do_flicker = bool(vFlickeringScanlines);
|
||||
|
||||
float angle_base = coords.y * pi * params.OriginalSize.y * period;
|
||||
//...to scale scanline tickness:
|
||||
//float lum_scaled = scale_to_range(lum, SCANLINE_MIN, SCANLINE_MAX);
|
||||
float lum_scaled = lum * SCANLINE_MAX;
|
||||
lum_scaled = clamp( lum_scaled, SCANLINE_MIN, SCANLINE_MAX );
|
||||
|
||||
|
||||
|
||||
|
||||
float angle_base = coords.y * pi * params.OriginalSize.y * period;// + vScanlinePhase;
|
||||
|
||||
float lines = 1.0;
|
||||
|
||||
if (!( is_interlaced && SCANLINE_DISABLE_ON_INTERLACE == 1.0 )) {
|
||||
if (alternate)
|
||||
lines = -sin(angle_base + HALF_PI); //lines = abs(cos(angle))
|
||||
|
||||
/*if (alternate)
|
||||
lines = -sin(angle_base + HALF_PI);
|
||||
else
|
||||
lines = sin(angle_base);
|
||||
*/
|
||||
//Unbranched the previous if/then/else:
|
||||
lines = (2*vScanlinesAlternate -1) * sin(angle_base + (vScanlinesAlternate * HALF_PI)) ;
|
||||
|
||||
lines = (lines*lines);
|
||||
}
|
||||
|
||||
@ -216,39 +342,39 @@ float scanline_shape(vec2 coords, bool do_flicker, bool is_interlaced, bool do_s
|
||||
if (do_slotmask) {
|
||||
if (do_flicker) {
|
||||
//Fallback to old darklines code to avoid glitches/artifacts.
|
||||
lines = lines * pixel_darklines(vec3(1.0),DARKLINES_PERIOD,1-SCANLINE_SM_STRENGTH,1.0,vec3(0.0),1.0, coords).r;
|
||||
lines = lines * pixel_darklines(vec3(1.0),DARKLINES_PERIOD,1-SCANLINE_SM_STRENGTH,1.0, 0.0 ,1.0, coords).r;
|
||||
|
||||
} else {
|
||||
float Darkline_part_w = (3.0 - VMASK_USE_GM + VMASK_GAP) * VMASK_DARKLINE_SCALE;
|
||||
float Darkline_part_w_x2 = Darkline_part_w*2;
|
||||
bool odd_column = mod(vFragCoord.x + Darkline_part_w , Darkline_part_w_x2) < Darkline_part_w;
|
||||
|
||||
|
||||
|
||||
|
||||
if (SCANLINE_SM_TYPE == 1.0) {
|
||||
// Slotmask is out oh phase every "odd" triple and mixed with
|
||||
// the straight scanline.
|
||||
// slotmask strength and stagger are configurable.
|
||||
// Acceptable values are with stagger around 79 (pi/4)
|
||||
if (odd_column) {
|
||||
float phase = pi + SCANLINE_SM_VOFFSET*0.01;
|
||||
// Acceptable values are with stagger around 79 (pi/4)
|
||||
if (odd_column) {
|
||||
float phase = pi + SCANLINE_SM_VOFFSET*0.01 * lum_scaled;
|
||||
float angle_slotmask = angle_base + phase;
|
||||
float slotmask = sin(angle_slotmask);
|
||||
slotmask = (slotmask*slotmask);
|
||||
slotmask = (slotmask*slotmask);
|
||||
lines = mix(lines, slotmask, SCANLINE_SM_STRENGTH);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
else if (SCANLINE_SM_TYPE == 2.0) {
|
||||
float phase;
|
||||
//Slotmask is always out of phase by QUARTER_PI
|
||||
//Every "odd triple" column, it is also out of phase of HALF_PI
|
||||
//Slotmask is multiplied by original scanline and thinner.
|
||||
//Only strength parameter is taken into account.
|
||||
if (odd_column)
|
||||
phase = period * pi + QUARTER_PI;
|
||||
if (odd_column)
|
||||
phase = period * pi + QUARTER_PI * lum_scaled;
|
||||
else
|
||||
phase = period * HALF_PI + QUARTER_PI;
|
||||
|
||||
|
||||
float angle_slotmask = angle_base + phase;
|
||||
float slotmask = sin(angle_slotmask);
|
||||
slotmask = slotmask*slotmask; slotmask = slotmask*slotmask; // eleva alla 4 per renderla sottile. valori maggiori producono moiree.
|
||||
@ -259,8 +385,7 @@ float scanline_shape(vec2 coords, bool do_flicker, bool is_interlaced, bool do_s
|
||||
else if (SCANLINE_SM_TYPE == 3.0) {
|
||||
// Thinner slotmask screen, no scanlines.
|
||||
// No parameter taken into account.
|
||||
lines = lines * lines;
|
||||
if (odd_column) {
|
||||
if (odd_column) {
|
||||
float phase = pi + HALF_PI;
|
||||
float angle_slotmask = angle_base + phase;
|
||||
float slotmask = sin(angle_slotmask);
|
||||
@ -268,48 +393,85 @@ float scanline_shape(vec2 coords, bool do_flicker, bool is_interlaced, bool do_s
|
||||
lines = slotmask;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (SCANLINE_DARK >= 0.0) {
|
||||
lines = lines * (1.0 - SCANLINE_DARK) + SCANLINE_DARK;
|
||||
} else {
|
||||
float deepness = -SCANLINE_DARK;
|
||||
lines = lines * ((1-SCANLINE_DARK) ) + SCANLINE_DARK ;
|
||||
}
|
||||
|
||||
|
||||
//Thickness (min):
|
||||
|
||||
//lines = pow(lines, 1/(lum_scaled+eps) );
|
||||
//lines = pow(lines, 1/(sqrt(lum_scaled) ) );
|
||||
//lines = pow(lines, 1/(lum_scaled*lum_scaled+eps) );
|
||||
|
||||
//lines = pow( lines , 1/(lum_scaled ) ) ;
|
||||
|
||||
//0.0125 is an anti-moiree measure.
|
||||
|
||||
//lines = pow( max(lines, 0.05), 1/lum_scaled) ;
|
||||
|
||||
//lines = pow(lines, 1/(sqrt(lum_scaled) ) );
|
||||
|
||||
//lines = pow(clamp(lines + 0.05, 0.0,1.0) , 1/sqrt(lum_scaled));
|
||||
//float extra_power_1 = 3.0;
|
||||
|
||||
float extra_power_1 = max(SCANLINE_MAX/3.0, 1.0);
|
||||
lines = pow(clamp(lines, SCANLINE_DARK * 2.0, 1.0) , 1/(sqrt(lum_scaled*lum_scaled*extra_power_1) ) );
|
||||
|
||||
//lines = pow(clamp(lines + 0.05, 0.0,1.0) , 1/(sqrt(lum_scaled*lum_scaled*extra_power_1) ) ) * extra_power_1/2.0;
|
||||
|
||||
|
||||
//lines = pow(clamp(lines + 0.05, 0.0,1.0) , 1/(lum_scaled*lum_scaled));
|
||||
|
||||
//Thickness (max):
|
||||
|
||||
/*lines = pow(abs(lines), 1/(10*lum_scaled*lum_scaled));
|
||||
float clamp_start=0.5;
|
||||
if (lum_scaled>clamp_start) lines = clamp(lines,(lum_scaled-clamp_start)/(1-clamp_start) ,1.0); //FIXME use step?*/
|
||||
|
||||
//min-max, ma difficile da gestire con la slotmask.
|
||||
// float extra_power = 2.0;
|
||||
// float m = mod(angle_base + (vScanlinesAlternate * HALF_PI), pi);
|
||||
// lines = exp( -pow((m-(HALF_PI)),2) / ( lum*extra_power ) ) * extra_power;
|
||||
|
||||
|
||||
lines = lines * (1-SCANLINE_DARK ) + SCANLINE_DARK ;
|
||||
return lines;
|
||||
}
|
||||
|
||||
float get_clamped_white_reference(vec3 pixel_in){
|
||||
float white_reference = max(max(pixel_in.r,pixel_in.g),pixel_in.b);
|
||||
white_reference = min(white_reference,1.0); //Clamp here for both vmask and darklines.
|
||||
return white_reference;
|
||||
}
|
||||
|
||||
vec4 pixel_main_pass(vec2 coords, bool bBorder_needed) {
|
||||
//Exit if we don't need a border (ambient light/background picture)
|
||||
//And we are outside the the border (unsure if this double check is good for performance) //FIXME
|
||||
if (bBorder_needed)
|
||||
if (vTexCoord.x < 0.0 || vTexCoord.x > 1.0 || vTexCoord.y < 0.0 || vTexCoord.y > 1.0) return vec4(0.0);
|
||||
|
||||
bool isinterlaced = is_interlaced();
|
||||
bool flickering_scanlines = (DO_SCANLINES == 1.0) && scanline_have_to_flicker(isinterlaced) ;
|
||||
if (bBorder_needed &&
|
||||
(vTexCoord.x < 0.0 || vTexCoord.x > 1.0 || vTexCoord.y < 0.0 || vTexCoord.y > 1.0))
|
||||
return vec4(0.0);
|
||||
|
||||
vec3 pixel_in;
|
||||
vec3 pixel_glowed;
|
||||
|
||||
//Get the first available pixel_in:
|
||||
//vec2 off=vec2(0.0,+ global.first_passSize.w*0.5); needed
|
||||
//To be added to the following coords and to halo coords (FIXME: WHY?)
|
||||
//if drawing scanlines on first pass too)
|
||||
if (DO_IN_GLOW == 1.0) {
|
||||
pixel_glowed = texture(in_glow_pass,coords).rgb;
|
||||
pixel_in = pixel_glowed; }
|
||||
else if ( DO_SHIFT_RGB + DO_SAT_BLEED > 0.0)
|
||||
pixel_in = pixel_glowed;
|
||||
} else {
|
||||
pixel_in = texture(shift_and_bleed_pass,coords).rgb ;
|
||||
else if (DO_FXAA > 0.0)
|
||||
pixel_in = texture(FXAA_pass,coords).rgb ;
|
||||
else
|
||||
pixel_in = texture(first_pass,coords).rgb ;
|
||||
}
|
||||
|
||||
|
||||
vec3 pixel_out = pixel_in;
|
||||
vec3 pixel_in_clamped = min(pixel_in,vec3(1.0)); //Clamp here for both vmask and darklines.
|
||||
|
||||
float white_reference;
|
||||
if (VMASK_OVERWHITE+DRKLN_OVERWHITE < 2.0 ) {
|
||||
white_reference = get_clamped_white_reference(pixel_in);
|
||||
}
|
||||
|
||||
//Mask and darklines:
|
||||
if (DO_VMASK_AND_DARKLINES == 1.0 ) {
|
||||
vec3 pixel_in_compensated = pixel_in;
|
||||
@ -319,9 +481,11 @@ vec4 pixel_main_pass(vec2 coords, bool bBorder_needed) {
|
||||
if (RGB_MASK_STRENGTH > 0.0) {
|
||||
//Use RGB pattern or exploit RGB layout with green and magenta?
|
||||
if (VMASK_USE_GM < 1.0)
|
||||
pixel_out = pixel_vmask(pixel_in_compensated, pixel_in_clamped, VMASK_OVERWHITE);
|
||||
pixel_out = pixel_vmask(pixel_in_compensated, white_reference, VMASK_OVERWHITE);
|
||||
else
|
||||
pixel_out = pixel_vmask_gm(pixel_in_compensated, pixel_in_clamped, VMASK_OVERWHITE);
|
||||
pixel_out = pixel_vmask_gm(pixel_in_compensated, white_reference, VMASK_OVERWHITE);
|
||||
//Tried to unbranch to no avail (worse performances)
|
||||
//pixel_out = pixel_vmask_and_gm(pixel_in_compensated, white_reference, VMASK_OVERWHITE);
|
||||
}
|
||||
|
||||
pixel_out = pixel_push_luminance(pixel_out, DARKLINES_STRENGTH * (1.0/DARKLINES_PERIOD) * MASK_COMPENSATION);
|
||||
@ -329,12 +493,11 @@ vec4 pixel_main_pass(vec2 coords, bool bBorder_needed) {
|
||||
//Screen lines (slotmask aperture grille)
|
||||
if ( DARKLINES_STRENGTH > 0.0 ) {
|
||||
float MYDARKLINES_TRANSPARENCY = 1.0 - DARKLINES_STRENGTH;
|
||||
pixel_out = pixel_darklines(pixel_out,DARKLINES_PERIOD,MYDARKLINES_TRANSPARENCY,DARKLINES_VOFFSET,pixel_in_clamped,DRKLN_OVERWHITE, coords);
|
||||
pixel_out = pixel_darklines(pixel_out, DARKLINES_PERIOD, MYDARKLINES_TRANSPARENCY, DARKLINES_VOFFSET, white_reference, DRKLN_OVERWHITE, coords);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
float lum = clamp(max(max(pixel_out.r,pixel_out.g),pixel_out.b), 0.0,1.0);
|
||||
|
||||
//Halo
|
||||
@ -342,7 +505,6 @@ vec4 pixel_main_pass(vec2 coords, bool bBorder_needed) {
|
||||
if (DO_HALO == 1.0 ) {
|
||||
pixel_haloed = texture(halo_pass,coords).rgb;
|
||||
pixel_out += pixel_haloed * (1 - HALO_VS_SCAN);
|
||||
//pixel_out += (pixel_haloed * (lum));
|
||||
}
|
||||
|
||||
/* Non flickering scanlines, Don't do them if
|
||||
@ -367,26 +529,16 @@ vec4 pixel_main_pass(vec2 coords, bool bBorder_needed) {
|
||||
pixel_out = pow(pixel_out,vec3(mypow));
|
||||
}
|
||||
|
||||
//The following should be theoretically more correct, but it produces moiree:
|
||||
/* vec3 vscanline_shape = scanline_shape(coords, flickering_scanlines, isinterlaced, SCANLINE_SM_TYPE > 0.0 ) +
|
||||
(pixel_bleed * SCANLINES_BLEEDING);
|
||||
vscanline_shape = min(vscanline_shape,1.0);
|
||||
pixel_out = vscanline_shape * pixel_out;
|
||||
*/
|
||||
|
||||
//Obtain the scanlines screen by multiplying the scanline shape by the pixel color.
|
||||
//and emulate the bleeding of the color over the dark part of the scanlined screen.
|
||||
//float scanline_shape = scanline_shape(coords, flickering_scanlines, isinterlaced, SCANLINE_SM_TYPE > 0.0 );
|
||||
float scanline_shape = scanline_shape(coords, flickering_scanlines, isinterlaced, SCANLINE_SM_TYPE > 0.0 );
|
||||
|
||||
//Modify scanline weight?
|
||||
//float l = max(max(pixel_bleed.r, pixel_bleed.g), pixel_bleed.b);
|
||||
//scanline_shape = min(pow(scanline_shape, 1/l), 1.0);
|
||||
//float scanline_shape = scanline_shape(coords, SCANLINE_SM_TYPE > 0.0 );
|
||||
float lum = max(max(pixel_out.r, pixel_out.g), pixel_out.b);
|
||||
float scanline_shape = scanline_shape(coords, SCANLINE_SM_TYPE > 0.0, lum );
|
||||
|
||||
pixel_out = pixel_out * ( scanline_shape + ( pixel_bleed * SCANLINES_BLEEDING * ( 1 - scanline_shape ) ));
|
||||
|
||||
|
||||
//pixel_out *= scanline_shape;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -396,7 +548,7 @@ vec4 pixel_main_pass(vec2 coords, bool bBorder_needed) {
|
||||
}
|
||||
|
||||
// Apply color correction (in this pass it is just the final output gamma)
|
||||
if (DO_CCORRECTION == 1.0) pixel_out = pow(pixel_out,vec3(GAMMA_OUT));
|
||||
if (DO_CCORRECTION == 1.0) pixel_out = pow(max(pixel_out, vec3(0.0)),vec3(GAMMA_OUT));
|
||||
|
||||
//Out
|
||||
return vec4(pixel_out,1.0) ; //* border(border_coords);
|
||||
@ -404,6 +556,47 @@ vec4 pixel_main_pass(vec2 coords, bool bBorder_needed) {
|
||||
|
||||
float global_noise;
|
||||
|
||||
#ifdef STATIC_SUPPORT_BACKDROP
|
||||
vec3 pixel_backdrop_image() {
|
||||
vec2 backdrop_offset=vec2(BACKDROP_OFFX,BACKDROP_OFFY);
|
||||
|
||||
vec2 backdrop_tex_size = textureSize(backdrop, 0);
|
||||
float backdrop_lod = log2(backdrop_tex_size.y / global.FinalViewportSize.y);
|
||||
|
||||
vec2 backdrop_coords = get_scaled_coords_aspect(
|
||||
vOutputCoord+backdrop_offset,
|
||||
global.FinalViewportSize,
|
||||
backdrop_tex_size.x/backdrop_tex_size.y,
|
||||
bool(vIsRotated));
|
||||
|
||||
backdrop_coords=zoom(backdrop_coords, BACKDROP_ZOOM);
|
||||
return textureLod(backdrop, backdrop_coords, backdrop_lod).rgb;
|
||||
}
|
||||
#endif
|
||||
|
||||
vec4 textureLod_wrap(sampler2D tex, vec2 co, float lod, float wrap_mode) {
|
||||
/*
|
||||
// Mirrored repeat, once, useless since is done by default
|
||||
if (co.x > 1.0 || co.x < 0.0)
|
||||
co.x = 1- mod(co.x, 1.0);
|
||||
if (co.y > 1.0 || co.y < 0.0)
|
||||
co.y = 1- mod(co.y, 1.0);
|
||||
*/
|
||||
|
||||
if (wrap_mode == 1.0) {
|
||||
//Clamp to border, black.
|
||||
bool bOutside = (co.x < 0.0 || co.x > 1.0 || co.y < 0.0 || co.y > 1.0 ) ;
|
||||
if (bOutside) return vec4(0.0,0.0,0.0,1.0);
|
||||
} else if (wrap_mode == 2.0) {
|
||||
//Clamp to edge:
|
||||
co = clamp(co, 0.00, 1.0);
|
||||
} else if (wrap_mode == 3.0) {
|
||||
//Repeat no mirror:
|
||||
co = mod(co, 1.0);
|
||||
}
|
||||
|
||||
return textureLod(tex, co, lod);
|
||||
}
|
||||
|
||||
|
||||
vec4 pixel_background_image(bool over){
|
||||
@ -415,43 +608,48 @@ vec4 pixel_background_image(bool over){
|
||||
|
||||
if (BG_IMAGE_ROTATION > 0.0 || ( BG_IMAGE_ROTATION < 0.0 && bool(vIsRotated) ) ) tex_size.xy = tex_size.yx;
|
||||
|
||||
vec2 back_coords = get_scaled_coords_aspect(vOutputCoord+bg_image_offset,global.FinalViewportSize, tex_size.x/tex_size.y, bool(vIsRotated));
|
||||
vec2 back_coords = get_scaled_coords_aspect(vOutputCoord + bg_image_offset, global.FinalViewportSize, tex_size.x/tex_size.y, bool(vIsRotated));
|
||||
|
||||
if (BG_IMAGE_ROTATION < 0.0 && bool(vIsRotated) ) {
|
||||
//handle automatic rotation of bg image for rotated games
|
||||
back_coords.xy = vec2(back_coords.y, back_coords.x);
|
||||
back_coords.xy = back_coords.yx;
|
||||
back_coords.y = 1 - back_coords.y;
|
||||
} else if (BG_IMAGE_ROTATION > 0.0) {
|
||||
//rotate as user prefs
|
||||
back_coords.xy = vec2(back_coords.y, back_coords.x);
|
||||
back_coords.xy = back_coords.yx;
|
||||
if (BG_IMAGE_ROTATION == 1.0) back_coords.y = 1 - back_coords.y;
|
||||
if (BG_IMAGE_ROTATION == 2.0) back_coords.x = 1 - back_coords.x;
|
||||
}
|
||||
back_coords=zoom(back_coords, BG_IMAGE_ZOOM);
|
||||
return textureLod(bg_over,back_coords,bg_over_lod);
|
||||
return textureLod_wrap(bg_over, back_coords, bg_over_lod, BG_IMAGE_WRAP_MODE);
|
||||
}
|
||||
//under
|
||||
vec2 tex_size = textureSize(bg_under, 0); // * BG_ZOOM;
|
||||
if (BG_IMAGE_ROTATION > 0.0) tex_size.xy = tex_size.yx;
|
||||
float bg_under_lod = log2(tex_size.y / global.FinalViewportSize.y);
|
||||
vec2 back_coords = get_scaled_coords_aspect(vOutputCoord+bg_image_offset,global.FinalViewportSize, tex_size.x/tex_size.y, bool(vIsRotated));
|
||||
vec2 back_coords = get_scaled_coords_aspect(vOutputCoord + bg_image_offset,global.FinalViewportSize, tex_size.x/tex_size.y, bool(vIsRotated));
|
||||
if (BG_IMAGE_ROTATION > 0.0) {
|
||||
back_coords.xy = vec2(back_coords.y, back_coords.x);
|
||||
if (BG_IMAGE_ROTATION == 1.0) back_coords.y = 1 - back_coords.y;
|
||||
if (BG_IMAGE_ROTATION == 2.0) back_coords.x = 1 - back_coords.x;
|
||||
}
|
||||
back_coords=zoom(back_coords, BG_IMAGE_ZOOM);
|
||||
return textureLod(bg_under,back_coords,bg_under_lod);
|
||||
return textureLod_wrap(bg_under,back_coords,bg_under_lod, BG_IMAGE_WRAP_MODE);
|
||||
//return textureLod(bg_under,back_coords,bg_under_lod);
|
||||
}
|
||||
|
||||
vec3 pixel_border(bool image_over) {
|
||||
/* Returns the surrounding of the tube/bezel:
|
||||
* The led light alone
|
||||
* The led lights alone
|
||||
* the led light "under" a background image (alpha driven)
|
||||
* black if we need to overlay a game backdrop
|
||||
*/
|
||||
#ifdef STATIC_SUPPORT_BACKDROP
|
||||
return vec3(0.0);
|
||||
#endif
|
||||
vec3 pixel_out = vec3(1.0);
|
||||
if (DO_AMBILIGHT == 1.0)
|
||||
pixel_out = texture(ambi_temporal_pass, vOutputCoord + global_noise ).rgb;
|
||||
pixel_out = texture(ambi_temporal_pass, vOutputCoord).rgb + vec3(global_noise);
|
||||
if (DO_BG_IMAGE == 1.0 && !image_over) {
|
||||
vec4 bg_image = pixel_background_image(false);
|
||||
pixel_out = mix(pixel_out,bg_image.rgb,bg_image.a);
|
||||
@ -480,28 +678,68 @@ vec3 bezel_color(float lum) {
|
||||
//Colorize bezel frame
|
||||
vec3 col = vec3(BEZEL_R,BEZEL_G,BEZEL_B) + lum;
|
||||
float con_max = 0.5 * BEZEL_CON + 0.5;
|
||||
|
||||
col.r = scale_to_range(col.r, -con_max+1, con_max); //contrast
|
||||
col.g = scale_to_range(col.g, -con_max+1, con_max); //contrast
|
||||
col.b = scale_to_range(col.b, -con_max+1, con_max); //contrast
|
||||
col = scale_to_range_vec3(col, -con_max+1, con_max);
|
||||
return clamp(col,0.0,1.0);
|
||||
}
|
||||
|
||||
|
||||
#define STATIC_BEZEL_USE_MIPMAP 1.0
|
||||
|
||||
vec3 compose_bezel_over(vec3 full_viewport) {
|
||||
vec2 bezel_lut_size = textureSize(monitor_body,0);
|
||||
float bezel_frame_lod = log2(bezel_lut_size.y * (BEZEL_FRAME_ZOOM+1.0) /global.FinalViewportSize.y);
|
||||
vec2 coords_for_bezel = vTexCoord;
|
||||
|
||||
|
||||
if (BEZEL_FRAME_ZOOM != 0.0)
|
||||
coords_for_bezel = zoomout_coords(vTexCoord,-BEZEL_FRAME_ZOOM,1.0);
|
||||
coords_for_bezel = zoomout_coords(coords_for_bezel,-BEZEL_FRAME_ZOOM,1.0);
|
||||
|
||||
/* Bezel image is a fixed png file, and is curved.
|
||||
* To have a straight bezel, we can "unwarp" it and then curve it again
|
||||
* Too lame?
|
||||
float BEZEL_IMG_BORDER_START_X = 120.0/2923.0; //= 0.03; 120
|
||||
float BEZEL_IMG_BORDER_END_X = 220.0/2923.0 ;//= 0.2; 220
|
||||
|
||||
float BEZEL_IMG_BORDER_START_Y = 75.0/2178.0; //= 0.01; 75
|
||||
float BEZEL_IMG_BORDER_END_Y = 160.0/2178.0;//= 0.4; 160
|
||||
|
||||
float BEZEL_IMG_CURVATURE_X = 0.6;
|
||||
float BEZEL_IMG_CURVATURE_Y = 0.6;
|
||||
|
||||
float min_x = min(coords_for_bezel.x, 1-coords_for_bezel.x);
|
||||
float min_y = min(coords_for_bezel.y, 1-coords_for_bezel.y);
|
||||
|
||||
|
||||
|
||||
float kx = smoothstep(BEZEL_IMG_BORDER_START_X, BEZEL_IMG_BORDER_END_X, min(coords_for_bezel.x, 1-coords_for_bezel.x));
|
||||
float ky = smoothstep(BEZEL_IMG_BORDER_START_Y, BEZEL_IMG_BORDER_END_Y, min(coords_for_bezel.y, 1-coords_for_bezel.y));
|
||||
coords_for_bezel = Warp(coords_for_bezel,-BEZEL_IMG_CURVATURE_X * kx , -BEZEL_IMG_CURVATURE_Y * ky );
|
||||
coords_for_bezel = Warp(coords_for_bezel,GEOM_WARP_X * kx , GEOM_WARP_Y * ky );
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
vec2 coords_for_mirror = coords_for_bezel;
|
||||
//No need to draw anything outside this:
|
||||
if (coords_for_bezel.x < 0 || coords_for_bezel.y < 0 || coords_for_bezel.x > 1.0 || coords_for_bezel.y > 1.0) return full_viewport;
|
||||
|
||||
vec2 coords_for_mirror = coords_for_bezel;
|
||||
|
||||
//Main lut:
|
||||
vec4 bezel = textureLod(monitor_body,coords_for_bezel,bezel_frame_lod);
|
||||
|
||||
vec4 bezel;
|
||||
#ifdef STATIC_BEZEL_USE_MIPMAP
|
||||
vec2 bezel_lut_size = textureSize(monitor_body_curved,0); //no need to branch here if we assume straight and curved textures are the same size. //FIXME?
|
||||
float bezel_frame_lod = log2(bezel_lut_size.y * (BEZEL_FRAME_ZOOM+1.0) /global.FinalViewportSize.y);
|
||||
if (BEZEL_USE_STRAIGHT < 0.5)
|
||||
bezel = textureLod(monitor_body_curved,coords_for_bezel,bezel_frame_lod);
|
||||
else
|
||||
bezel = textureLod(monitor_body_straight,coords_for_bezel,bezel_frame_lod);
|
||||
#else
|
||||
if (BEZEL_USE_STRAIGHT < 0.5)
|
||||
bezel = texture(monitor_body_curved,coords_for_bezel);
|
||||
else
|
||||
bezel = texture(monitor_body_straight,coords_for_bezel);
|
||||
#endif
|
||||
|
||||
//return mix(bezel.rgb, vec3(kx), 0.5);
|
||||
//No need to draw anything on full alpha:
|
||||
if (bezel.a == 0.0) return full_viewport;
|
||||
|
||||
@ -510,26 +748,37 @@ vec3 compose_bezel_over(vec3 full_viewport) {
|
||||
|
||||
//This is the reflection to be composed over the bezel);
|
||||
vec3 pixel_mirrored = texture(reflected_blurred_pass2,
|
||||
coords_for_mirror + random( min(global.FinalViewportSize.z,global.FinalViewportSize.w), vTexCoord ) ).rgb;
|
||||
|
||||
coords_for_mirror + random( min(global.FinalViewportSize.z,global.FinalViewportSize.w)*1.5, vTexCoord ) ).rgb;
|
||||
//return pixel_mirrored;
|
||||
//Take the reflection modifier from the texture blue component into account; it is/may be used to lower the reflection in the corners.
|
||||
//float reflection = (reflection_shade * 1.4 - 0.4) * bezel.b ;
|
||||
//reflection = clamp (reflection, 0.0, 1.0);
|
||||
float reflection = bezel.b;
|
||||
//return vec3(reflection);
|
||||
pixel_mirrored = pixel_mirrored * reflection * BEZEL_REFL_STRENGTH;
|
||||
//return pixel_mirrored;
|
||||
vec3 bezel_out = bezel_colored + pixel_mirrored;
|
||||
|
||||
//Mix ambient light over bezel? (branching this is worse)
|
||||
vec3 ambitemporalpass = texture(ambi_temporal_pass, vOutputCoord).rgb;
|
||||
ambitemporalpass = max(ambitemporalpass, 0.0); //<-- this to avoid undefined results
|
||||
vec3 pixel_ambilight = DO_AMBILIGHT * (ambitemporalpass + global_noise);
|
||||
|
||||
|
||||
vec3 bezel_out = bezel_colored + (pixel_mirrored * reflection * 0.5) ;
|
||||
|
||||
//Mix a bit of ambient light over the bezel
|
||||
vec4 pixel_avglum = texture(avglum_pass,vOutputCoord);
|
||||
bezel_out = bezel_out + (pixel_avglum.rgb * 0.05);
|
||||
|
||||
//We use the green component to express Hardness/Specularity; there the reflection will be completely diffused.
|
||||
//For the task, we use a mipmap whit adeguate precision.
|
||||
float opacita = bezel.a;
|
||||
bezel_out = bezel_out + pixel_ambilight * AMBI_OVER_BEZEL * (1 -reflection) * bezel.a;
|
||||
|
||||
//bezel_out = vec3(bezel.a);
|
||||
|
||||
//(1- (max(reflection, lut_hardness), bezel.a)) ;
|
||||
//We use the green component to express Hardness/Specularity; there the reflection will be completely diffused.
|
||||
//For the task, we use a mipmap whit adeguate precision.
|
||||
float lut_hardness = bezel.g;
|
||||
if (lut_hardness > 0.0) {
|
||||
bezel_out = bezel_out + ( ( pixel_avglum.rgb + pixel_avglum.a*0.5) * lut_hardness/3.5);
|
||||
vec4 pixel_avglum = texture(avglum_pass,vOutputCoord);
|
||||
bezel_out = bezel_out + ( ( pixel_avglum.rgb + pixel_avglum.a*0.5) * lut_hardness * 0.57 * BEZEL_REFL_STRENGTH );
|
||||
}
|
||||
|
||||
|
||||
return mix(full_viewport, bezel_out, bezel.a);
|
||||
}
|
||||
|
||||
@ -543,23 +792,11 @@ vec4 pixel_inner_frame(vec2 coords, bool bBorder_needed) {
|
||||
//Mix bloom texture
|
||||
if (DO_BLOOM == 1.0 ) {
|
||||
bloomed=texture(bloom_pass_final, coords).rgb ;
|
||||
if (BLOOM_BYPASS == 1.0)
|
||||
|
||||
if (BLOOM_BYPASS > 0.5)
|
||||
pixel_out = bloomed;
|
||||
else {
|
||||
float over_white_correction = 1.0;
|
||||
if (BLOOM_OVER_WHITE < 1.0) {
|
||||
//Use mipmap to identify bright areas.
|
||||
vec3 avglum = texture(avglum_pass,coords).rgb;
|
||||
//avglum = apply_fuzzy_main_pass(avglum);
|
||||
float b_brightness = max(avglum.b,max(avglum.r,avglum.g));
|
||||
//b_brightness = max(pixel_out.b,max(pixel_out.r,pixel_out.g));
|
||||
|
||||
b_brightness *= 1-BLOOM_OVER_WHITE;
|
||||
over_white_correction =1- b_brightness;
|
||||
}
|
||||
|
||||
pixel_out = pixel_out + (bloomed * BLOOM_MIX * over_white_correction);
|
||||
}
|
||||
else
|
||||
pixel_out += bloomed;
|
||||
}
|
||||
|
||||
//Black frame insertion
|
||||
@ -569,25 +806,25 @@ vec4 pixel_inner_frame(vec2 coords, bool bBorder_needed) {
|
||||
|
||||
//vignette and spot
|
||||
if (DO_VIGNETTE + DO_SPOT >0.0) {
|
||||
float in_aspect = get_in_aspect();
|
||||
//float in_aspect = get_in_aspect();
|
||||
|
||||
if (DO_VIGNETTE == 1.0) {
|
||||
float vignette;
|
||||
float dist = length(vec2((coords.x-0.5)*in_aspect,coords.y-0.5));
|
||||
vignette = smoothstep(V_SIZE,0.0,dist)*V_POWER+global_noise;
|
||||
if (V_BYPASS < 1.0) pixel_out = vignette * clamp(pixel_out,0.0,1.0);
|
||||
else
|
||||
pixel_out = vec3(vignette);
|
||||
float dist = length(vec2((coords.x-0.5)*vIn_aspect,coords.y-0.5));
|
||||
float vignette = smoothstep(V_SIZE,0.0,dist)*V_POWER;
|
||||
//float vignette = vV_POWER * (vV_SIZE + 16.0* coords.x*coords.y*(1.0-coords.x)*(1.0-coords.y));
|
||||
//vignette = min(vignette,99999.0); //<--- big wtf here, why is this needed?
|
||||
////...see: https://github.com/kokoko3k/koko-aio-slang/issues/3
|
||||
pixel_out = pixel_out * vignette;
|
||||
}
|
||||
|
||||
if (DO_SPOT == 1.0) {
|
||||
float spot;
|
||||
float dist = length(vec2((coords.x-0.5)*in_aspect,coords.y-0.5)+spot_offset);
|
||||
spot = smoothstep(S_SIZE,0.0,dist)*S_POWER+global_noise;
|
||||
if (S_BYPASS < 1.0) pixel_out = spot + pixel_out;
|
||||
else
|
||||
pixel_out = vec3(spot);
|
||||
float dist = length(vec2((coords.x-0.5)*vIn_aspect,coords.y-0.5)+spot_offset);
|
||||
float spot = smoothstep(S_SIZE,0.0,dist)*S_POWER;
|
||||
//vec2 scoords = clamp(coords + spot_offset, 0.0,1.0);
|
||||
//float spot = vS_POWER * (vS_SIZE + 16.0*scoords.x*scoords.y*(1.0-scoords.x)*(1.0-scoords.y));
|
||||
pixel_out = pixel_out + spot;
|
||||
}
|
||||
//pixel_out += global_noise;
|
||||
}
|
||||
|
||||
//smooth border (edge)
|
||||
@ -645,26 +882,38 @@ vec4 main_wrap(vec2 coords){
|
||||
void main() {
|
||||
|
||||
vec2 coords = vTexCoord;
|
||||
|
||||
//Luminosity dependant zoom
|
||||
if (DO_DYNZOOM == 1.0) {
|
||||
float zoomin = 1.0 + (texture(avglum_passFeedback, vec2(0.25,0.25) ).a/ DYNZOOM_FACTOR);
|
||||
coords = zoom(coords, zoomin);
|
||||
}
|
||||
|
||||
//Curvature
|
||||
if (DO_CURVATURE == 1.0) {
|
||||
if ((GEOM_WARP_X > 0.0) || (GEOM_WARP_Y > 0.0))
|
||||
coords = Warp(coords,GEOM_WARP_X,GEOM_WARP_Y);
|
||||
//float zoomin = 1.0 + (texture(bloom_pass_final, coords ).a/ DYNZOOM_FACTOR * 80.0); <<-- funny.
|
||||
//float dynzoom = 1.0 + (texture(avglum_pass, vec2(0.75,0.75) ).a/ DYNZOOM_FACTOR);
|
||||
float dynzoom = get_dyn_zoom(avglum_pass);
|
||||
coords = zoom(coords, dynzoom);
|
||||
}
|
||||
|
||||
//Scale coords according to bezel settings?
|
||||
if (DO_BEZEL == 1.0) {
|
||||
coords = zoomout_coords(coords, -BEZEL_INNER_ZOOM , 1.0);
|
||||
coords = clamp(coords, 0.0,1.0);
|
||||
}
|
||||
|
||||
|
||||
//Curvature
|
||||
if (DO_CURVATURE == 1.0) {
|
||||
if ((GEOM_WARP_X > 0.0) || (GEOM_WARP_Y > 0.0))
|
||||
coords = Warp_fast(coords, vWarp_vexp, vWarp_arg2);
|
||||
|
||||
}
|
||||
|
||||
//"Just" handle inner and outer frame here:
|
||||
vec4 pixel_out = main_wrap(coords);
|
||||
|
||||
|
||||
#ifdef STATIC_SUPPORT_BACKDROP
|
||||
pixel_out += vec4(pixel_backdrop_image(), 1.0);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
//Draw bezel
|
||||
if (DO_BEZEL == 1.0) {
|
||||
pixel_out = vec4(compose_bezel_over(pixel_out.rgb),1.0);
|
||||
@ -682,6 +931,14 @@ void main() {
|
||||
//split screen
|
||||
//if (vTexCoord.y < 0.5) pixel_out = texture(first_pass,vTexCoord);
|
||||
//pixel_out = texture(avglum_pass,vTexCoord);
|
||||
|
||||
|
||||
//vec4 pixel_mirrored = texture(reflected_blurred_pass2,vTexCoord);
|
||||
//pixel_out = pixel_mirrored;
|
||||
|
||||
|
||||
FragColor = pixel_out;
|
||||
|
||||
//FragColor = vec4(blur_shade(vTexCoord) );
|
||||
|
||||
//FragColor = vec4(random(1.0, vTexCoord * params.FrameCount));
|
||||
}
|
||||
|
@ -1,210 +1,33 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#define NTSC_FILTER_WIDTH_MAX 25
|
||||
#define NTSC_FILTER_MIDDLE NTSC_FILTER_WIDTH/2
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out vec3 temperature_rgb;
|
||||
layout(location = 2) out float vNTSC_FILTER_FC;
|
||||
layout(location = 3) out float vNTSC_FILTER_SCF;
|
||||
layout(location = 4) out float vNTSC_weights[NTSC_FILTER_WIDTH_MAX];
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
|
||||
/* hann() sinc() functions by xot:
|
||||
* copyright (c) 2017-2018, John Leffingwell
|
||||
* license CC BY-SA Attribution-ShareAlike
|
||||
* ntscdec() function, same license and attribution,
|
||||
* slightly modified by me.
|
||||
* https://www.shadertoy.com/view/Mdffz7
|
||||
*/
|
||||
|
||||
|
||||
// Hann windowing function
|
||||
float hann(float n, float N) {
|
||||
return 0.5 * (1.0 - cos((TAU*n)/(N-1.0)));
|
||||
}
|
||||
|
||||
// Sinc function
|
||||
float sinc(float x) {
|
||||
if (x == 0.0) return 1.0;
|
||||
return sin(pi*x) / (pi*x);
|
||||
}
|
||||
|
||||
vec3 kelvin2rgb(float k) {
|
||||
//Convert kelvin temperature to rgb factors
|
||||
k = clamp(k,1000,40000);
|
||||
k=k/100.0;
|
||||
float tmpCalc;
|
||||
vec3 pixel_out;
|
||||
if (k<=66) {
|
||||
pixel_out.r = 255;
|
||||
pixel_out.g = 99.47080258612 * log(k) - 161.11956816610;
|
||||
} else {
|
||||
pixel_out.r = 329.6987274461 * pow(k - 60 ,-0.13320475922);
|
||||
pixel_out.g = 288.12216952833 * pow(k-60, -0.07551484921);
|
||||
}
|
||||
|
||||
if (k >= 66)
|
||||
pixel_out.b = 255;
|
||||
else if (k<=19)
|
||||
pixel_out.b = 0;
|
||||
else
|
||||
pixel_out.b = 138.51773122311 * log(k - 10) - 305.04479273072;
|
||||
|
||||
return pixel_out/255.0;
|
||||
}
|
||||
|
||||
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
if (TEMPERATURE != 6500)
|
||||
temperature_rgb = kelvin2rgb(TEMPERATURE);
|
||||
|
||||
if (DO_NTSC_ARTIFACTS > 0.0) {
|
||||
vNTSC_FILTER_FC = NTSC_FILTER_FC * 0.1;
|
||||
vNTSC_FILTER_SCF = NTSC_FILTER_SCF * 0.1;
|
||||
float sum = 0.0;
|
||||
int N = int(NTSC_FILTER_WIDTH);
|
||||
// Compute sampling weights
|
||||
for (int n = 0; n < N; n++) {
|
||||
vNTSC_weights[n] = hann(float(n), float(N)) * sinc(vNTSC_FILTER_FC * float(n-NTSC_FILTER_MIDDLE));
|
||||
sum += vNTSC_weights[n];
|
||||
}
|
||||
// Normalize sampling weights
|
||||
for (int n = 0; n < N; n++) {
|
||||
vNTSC_weights[n] /= sum;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in vec3 temperature_rgb;
|
||||
layout(location = 2) in float vNTSC_FILTER_FC;
|
||||
layout(location = 3) in float vNTSC_FILTER_SCF;
|
||||
layout(location = 4) in float vNTSC_weights[NTSC_FILTER_WIDTH_MAX];
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
|
||||
|
||||
// Colorspace conversion matrix for YIQ-to-RGB
|
||||
const mat3 YIQ2RGB = mat3(1.000, 1.000, 1.000,
|
||||
0.956,-0.272,-1.106,
|
||||
0.621,-0.647, 1.703);
|
||||
|
||||
const mat3 RGB2YIQ = mat3(
|
||||
0.2989, 0.5959, 0.2115,
|
||||
0.5870, -0.2744, -0.5229,
|
||||
0.1140, -0.3216, 0.3114);
|
||||
|
||||
|
||||
// Hann windowing function
|
||||
float hann(float n, float N) {
|
||||
return 0.5 * (1.0 - cos((TAU*n)/(N-1.0)));
|
||||
}
|
||||
|
||||
// Sinc function
|
||||
float sinc(float x) {
|
||||
if (x == 0.0) return 1.0;
|
||||
return sin(pi*x) / (pi*x);
|
||||
}
|
||||
|
||||
#define pi10 pi*10
|
||||
|
||||
|
||||
vec3 ntscdec(vec2 uv ){
|
||||
vec2 size = params.SourceSize.xy;
|
||||
// Sample composite signal and decode to YIQ
|
||||
vec3 YIQ_processed = vec3(0.0);
|
||||
int N = int(NTSC_FILTER_WIDTH);
|
||||
for (int n=0; n < N; n++) {
|
||||
vec2 pos = uv + vec2(float(n-NTSC_FILTER_MIDDLE) / size.x, 0.0);
|
||||
float phase = TAU * (vNTSC_FILTER_SCF * size.x * pos.x);
|
||||
//phase += ( pos.x * 3.14 * 20) ; // rainbow width
|
||||
if (NTSC_PHASE_SHIFT > 0.5) phase += ( pos.y * -pi10 ) ; // 45 degree
|
||||
//if (NTSC_DOT_CRAWL > 0.5) phase += (params.FrameCount % 3140) /2.0 ;
|
||||
//float phase = TAU * (vNTSC_FILTER_SCF * size.x * pos.x) + ( pos.y * -pi10 * NTSC_PHASE_SHIFT)
|
||||
// ( pos.y * - 31.4);
|
||||
//Just sample luminance via yiq:
|
||||
vec3 smp = vec3((texture(Source, pos).rgb * RGB2YIQ).x);
|
||||
YIQ_processed += vec3(1.0, cos(phase), sin(phase)) * smp * vNTSC_weights[n];
|
||||
}
|
||||
|
||||
vec3 RGB_ori = texture(Source, uv).rgb;
|
||||
vec3 YIQ_ori = RGB_ori * RGB2YIQ;
|
||||
|
||||
//ADD artifacted Y and Q.
|
||||
vec3 YIQ_result = vec3(YIQ_ori.x, YIQ_ori.yz + YIQ_processed.yz * NTSC_MIX);
|
||||
|
||||
|
||||
/* se li vogliamo aggiungere come complemento ad 1?
|
||||
* tutto il
|
||||
* tipo ho y1 = 0.5 -> aggiungo y2 al max fino a 0.5, quindi come una sorta di clamp.
|
||||
* oppure partendo dall'opposto. e aggiungendo l'orinale all'ntsc.
|
||||
*/
|
||||
|
||||
// YIQ_result.y = YIQ_ori.y + clamp(YIQ_processed.y, 0.0, (1-YIQ_ori.y)) * NTSC_MIX;
|
||||
// YIQ_result.z = YIQ_ori.z + clamp(YIQ_processed.z, 0.0, (1-YIQ_ori.z)) * NTSC_MIX;
|
||||
|
||||
//return YIQ_processed * YIQ2RGB;
|
||||
|
||||
return YIQ_result * YIQ2RGB;
|
||||
}
|
||||
|
||||
|
||||
vec3 color_tools(vec3 pixel_out) {
|
||||
//Apply color corrections to input signal.
|
||||
|
||||
//Push luminance without clipping
|
||||
pixel_out = pixel_push_luminance(pixel_out,LUMINANCE);
|
||||
|
||||
//Modify saturation
|
||||
if (!(SATURATION == 1.0)) {
|
||||
const vec3 W = vec3(0.2125, 0.7154, 0.0721);
|
||||
vec3 intensity = vec3(dot(pixel_out.rgb, W));
|
||||
pixel_out.rgb = mix(intensity, pixel_out.rgb, SATURATION);
|
||||
}
|
||||
|
||||
//Modify contrast and brightness
|
||||
if (CONTRAST != 0.0 || BRIGHTNESS != 0.0)
|
||||
pixel_out.rgb = scale_to_range_vec3(pixel_out.rgb, -CONTRAST, 1+CONTRAST) + BRIGHTNESS;
|
||||
|
||||
//Modify color temperature
|
||||
if (TEMPERATURE != 6500.0) pixel_out.rgb = pixel_out.rgb * temperature_rgb;
|
||||
return pixel_out;
|
||||
}
|
||||
|
||||
|
||||
vec3 pixel_no_flicker(vec2 coord){
|
||||
vec3 pixel_out;
|
||||
if (DO_NTSC_ARTIFACTS > 0.0)
|
||||
pixel_out = ntscdec(coord);
|
||||
else
|
||||
pixel_out = texture(Source,coord).rgb;
|
||||
|
||||
if (DO_CCORRECTION == 1.0)
|
||||
pixel_out = color_tools(pixel_out);
|
||||
return pixel_out.rgb;
|
||||
}
|
||||
|
||||
vec3 pixel_flickering() {
|
||||
/* Simulates the flickering effect of the interlaced screens.
|
||||
* As I remember, it was visible when a line and the next had high
|
||||
* luminosity differences.
|
||||
* So we need sample the current line and the previous one
|
||||
* So we need to sample the current line and the previous one
|
||||
* (eventually applying color corrections to both).
|
||||
*
|
||||
* Repeating the following:
|
||||
@ -222,7 +45,7 @@ vec3 pixel_flickering() {
|
||||
* to see the effect (the lcd panel would just mix the pixels by itself (meh).
|
||||
*/
|
||||
|
||||
vec3 pixel_cur = pixel_no_flicker(vTexCoord);
|
||||
vec3 pixel_cur = texture(Source,vTexCoord).rgb;
|
||||
float mymod = params.FrameCount % 3;
|
||||
|
||||
if (mymod == 0.0) return pixel_cur;
|
||||
@ -230,9 +53,9 @@ vec3 pixel_flickering() {
|
||||
|
||||
vec3 flickline;
|
||||
if (mymod == 1.0 )
|
||||
flickline = pixel_no_flicker(vTexCoord + vec2(0.0,params.OriginalSize.w/line_tick));
|
||||
flickline = texture(Source, vTexCoord + vec2(0.0,params.OriginalSize.w/line_tick)).rgb;
|
||||
else if (mymod == 2.0)
|
||||
flickline = pixel_no_flicker(vTexCoord - vec2(0.0,params.OriginalSize.w/line_tick));
|
||||
flickline = texture(Source, vTexCoord - vec2(0.0,params.OriginalSize.w/line_tick)).rgb;
|
||||
|
||||
float lumdiff = (flickline.r+flickline.g+flickline.b)/3.0 -
|
||||
(pixel_cur.r+pixel_cur.g+pixel_cur.b)/3.0;
|
||||
@ -250,24 +73,43 @@ void debug() {
|
||||
//Just test patterns here
|
||||
vec3 pixel_debug;
|
||||
//Use one of the following to debug:
|
||||
pixel_debug=vec3(abs(sin(params.FrameCount/3.14/8.0))); //white fade
|
||||
//pixel_debug=vec3(abs(sin(params.FrameCount/3.14/5.0))); //white fade
|
||||
//pixel_debug=vec3(abs(sin(params.FrameCount/3.14/20)),0.0,0.0); //red fade
|
||||
//pixel_debug=vec3(1.0);
|
||||
//pixel_debug=vec3(0.9);
|
||||
//pixel_debug=vec3(0.0,1.0,0.0);
|
||||
//pixel_debug=vec3(0.38,0.0,1.0)*vTexCoord.x;
|
||||
//pixel_debug=vec3(vTexCoord.x); //H bw gradient
|
||||
//pixel_debug=vec3(floor(vTexCoord.x*16)/16); //H bw gradient 16gray
|
||||
pixel_debug=vec3(floor(vTexCoord.x*16)/16); //H bw gradient 16gray
|
||||
//pixel_debug=vec3(floor(vTexCoord.x*64)/64); //H bw gradient 64gray
|
||||
//pixel_debug=vec3(floor(vTexCoord.x*128)/128); //H bw gradient 128gray
|
||||
//pixel_debug=vec3(floor(vTexCoord.x*256)/256); //H bw gradient 256gray
|
||||
//pixel_debug=vec3(1,0,0,0)*floor(vTexCoord.x*64)/64; //H red gradient 64
|
||||
//if (mod(params.FrameCount,100) < 50) pixel_debug=vec3(0.0) ; else pixel_debug=vec3(1.0);
|
||||
// float blink_time = 20;
|
||||
// if (mod(params.FrameCount,blink_time*2) < blink_time) pixel_debug=vec3(0.2) ; else pixel_debug=vec3(1.0);
|
||||
//FragColor = vec4(color_tools(pixel_debug).rgb,1.0);
|
||||
//White circle, blinking
|
||||
/* float blink_time = 20;
|
||||
vec2 center = vTexCoord - vec2(0.5,0.5);
|
||||
float radius = 0.1;
|
||||
pixel_debug = vec3(1 - step(radius, length(center)));
|
||||
pixel_debug *= float((mod(params.FrameCount,blink_time*2) < blink_time));
|
||||
*/
|
||||
|
||||
|
||||
FragColor = vec4(pixel_debug,1.0);
|
||||
}
|
||||
|
||||
|
||||
void main() {
|
||||
//FragColor = vec4(ntscdec(vTexCoord),1.0); return;
|
||||
|
||||
/*vec4 pixel_debug=texture(Source,vTexCoord);
|
||||
float mymod = int(mod(vTexCoord.y * params.OutputSize.y , 2.0 )) ;
|
||||
pixel_debug.a *= float( (mymod != 0.0) ) ;
|
||||
FragColor = pixel_debug;
|
||||
return;
|
||||
*/
|
||||
|
||||
|
||||
//debug(); return;
|
||||
|
||||
/* since flickering code needs
|
||||
@ -278,19 +120,29 @@ void main() {
|
||||
and outside id when we dont.
|
||||
*/
|
||||
|
||||
if (DO_SCANLINES == 0.0) {
|
||||
FragColor= vec4(pixel_no_flicker(vTexCoord),1.0);
|
||||
return;
|
||||
}
|
||||
|
||||
//Implicit else: DO_SCANLINES == 1.0
|
||||
if (scanline_have_to_flicker(is_interlaced())) {
|
||||
FragColor = vec4(pixel_flickering(),1.0);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
vec3 pixel_out;
|
||||
if (DO_SCANLINES == 0.0)
|
||||
pixel_out = texture(Source, vTexCoord).rgb;
|
||||
|
||||
else if (scanline_have_to_flicker(is_interlaced()))
|
||||
pixel_out = pixel_flickering();
|
||||
else
|
||||
//Implicit else: DO_SCANLINES == 1.0 but no flickering needed.
|
||||
FragColor = vec4(pixel_no_flicker(vTexCoord),1.0);
|
||||
pixel_out = texture(Source, vTexCoord).rgb;
|
||||
|
||||
|
||||
if (DO_RF_NOISE > 0.0) {
|
||||
vec3 noise = vec3(random(RF_NOISE_STRENGTH, vTexCoord * params.FrameCount));
|
||||
pixel_out += noise;
|
||||
}
|
||||
|
||||
//Here lies the blur modifier from ntsc pass to glow.
|
||||
//I'm not expecting any performance hit, since the lookup should have been cached alreadyl
|
||||
float pixel_alpha = texture(Source, vTexCoord).a;
|
||||
|
||||
FragColor = vec4(pixel_out, pixel_alpha);
|
||||
}
|
||||
|
||||
|
||||
|
@ -252,6 +252,8 @@ layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = global.MVP * Position;
|
||||
@ -263,9 +265,12 @@ layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D first_pass;
|
||||
|
||||
|
||||
|
||||
void main() {
|
||||
void main() {
|
||||
if ( DO_FXAA == 0.0 ) return;
|
||||
FragColor = vec4(FxaaPixelShader(vTexCoord, first_pass, vec2(global.first_passSize.z, global.first_passSize.w)),0.0);
|
||||
|
||||
//Here lies the blur modifier from ntsc pass to glow.
|
||||
//I'm not expecting any performance hit, since the lookup should have been cached alreadyl
|
||||
float pixel_alpha = texture(first_pass, vTexCoord).a;
|
||||
|
||||
FragColor = vec4(FxaaPixelShader(vTexCoord, first_pass, vec2(global.first_passSize.z, global.first_passSize.w)),pixel_alpha);
|
||||
}
|
||||
|
@ -1,59 +0,0 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
#define pi 3.141592654
|
||||
|
||||
// Blur sizes must not depend on input resolution
|
||||
#define scalemod_x (global.in_glow_passSize.x/360.0)
|
||||
#define scalemod_y (global.in_glow_passSize.y/270.0)
|
||||
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out vec2 vOutputCoord;
|
||||
|
||||
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
//vTexCoord = get_scaled_coords(TexCoord);
|
||||
vTexCoord = TexCoord;
|
||||
vOutputCoord = TexCoord;
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in vec2 vOutputCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D FXAA_pass;
|
||||
layout(set = 0, binding = 3) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 4) uniform sampler2D in_glow_pass;
|
||||
layout(set = 0, binding = 5) uniform sampler2D shift_and_bleed_pass;
|
||||
|
||||
#include "includes/pixel_glows.include.slang"
|
||||
|
||||
|
||||
vec4 main_wrap(void) {
|
||||
//Halo
|
||||
vec3 pixel_haloed;
|
||||
vec2 halo_coords = vTexCoord;
|
||||
|
||||
if (DO_IN_GLOW == 1.0)
|
||||
pixel_haloed = pixel_glow(in_glow_pass, HALO_W, HALO_H, HALO_POWER, HALO_GAMMA, halo_coords, global.FXAA_passSize, global.FXAA_passSize).rgb;
|
||||
else if ( DO_SHIFT_RGB + DO_SAT_BLEED > 0.0)
|
||||
pixel_haloed = pixel_glow(shift_and_bleed_pass, HALO_W, HALO_H, HALO_POWER, HALO_GAMMA, halo_coords, global.FXAA_passSize, global.FXAA_passSize).rgb;
|
||||
else if (DO_FXAA > 0.0)
|
||||
pixel_haloed = pixel_glow(FXAA_pass, HALO_W, HALO_H, HALO_POWER, HALO_GAMMA, halo_coords, global.FXAA_passSize, global.FXAA_passSize).rgb;
|
||||
else
|
||||
pixel_haloed = pixel_glow(first_pass, HALO_W, HALO_H, HALO_POWER, HALO_GAMMA, halo_coords, global.FXAA_passSize, global.FXAA_passSize).rgb;
|
||||
|
||||
return vec4(pixel_haloed.rgb,1.0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void main() {
|
||||
if (DO_HALO == 0.0 ) return;
|
||||
|
||||
FragColor = main_wrap();
|
||||
}
|
54
bezel/koko-aio/shaders/halo_x.slang
Normal file
54
bezel/koko-aio/shaders/halo_x.slang
Normal file
@ -0,0 +1,54 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out float vHALO_W;
|
||||
layout(location = 2) out vec3 vHALO_GAMMA;
|
||||
|
||||
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
vHALO_W = HALO_W / NEW_SCALEMOD_X; //Make it resolution independent.
|
||||
vHALO_GAMMA = vec3(HALO_GAMMA);
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in float vHALO_W;
|
||||
layout(location = 2) in vec3 vHALO_GAMMA;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
layout(set = 0, binding = 4) uniform sampler2D in_glow_pass;
|
||||
layout(set = 0, binding = 5) uniform sampler2D shift_and_bleed_pass;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
void main() {
|
||||
if (DO_HALO == 0.0 ) return;
|
||||
|
||||
//Pass the right texture unchanged for tighter blurs:
|
||||
if (HALO_W >= GLOW_SHARP_MAX && HALO_H >= GLOW_SHARP_MAX) {
|
||||
if (DO_IN_GLOW == 1.0)
|
||||
FragColor = texture(in_glow_pass, vTexCoord);
|
||||
else
|
||||
FragColor = texture(shift_and_bleed_pass, vTexCoord);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
vec3 pixel_haloed;
|
||||
if (DO_IN_GLOW == 1.0) {
|
||||
//pixel_haloed = blur9_x(in_glow_pass, vTexCoord, global.FXAA_passSize.xy, vHALO_W);
|
||||
|
||||
pixel_haloed = blur9_x_gamma(in_glow_pass, vTexCoord, global.FXAA_passSize.xy, vHALO_W, vHALO_GAMMA);
|
||||
}
|
||||
else {
|
||||
pixel_haloed = blur9_x_gamma(shift_and_bleed_pass, vTexCoord, global.FXAA_passSize.xy, vHALO_W, vHALO_GAMMA);
|
||||
}
|
||||
|
||||
FragColor = vec4(pixel_haloed.rgb, 1.0);
|
||||
}
|
41
bezel/koko-aio/shaders/halo_y.slang
Normal file
41
bezel/koko-aio/shaders/halo_y.slang
Normal file
@ -0,0 +1,41 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out float vHALO_H;
|
||||
|
||||
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
vHALO_H = HALO_H / NEW_SCALEMOD_Y; //Make it resolution independent.
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in float vHALO_H;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
|
||||
void main() {
|
||||
if (DO_HALO == 0.0 ) return;
|
||||
|
||||
vec3 pixel_haloed;
|
||||
|
||||
//apply just gamma and power for tighter blurs and exit:
|
||||
if (HALO_W >= GLOW_SHARP_MAX && HALO_H >= GLOW_SHARP_MAX) {
|
||||
FragColor = vec4( glow_dumb(Source, HALO_POWER, HALO_GAMMA, vTexCoord), 1.0);
|
||||
return;
|
||||
}
|
||||
|
||||
pixel_haloed = blur9_y(Source, vTexCoord, global.first_passSize.xy, vHALO_H) * HALO_POWER;
|
||||
FragColor = vec4(pixel_haloed.rgb,1.0);
|
||||
|
||||
|
||||
}
|
@ -1,109 +0,0 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord ;
|
||||
}
|
||||
|
||||
|
||||
#pragma stage fragment
|
||||
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 3) uniform sampler2D FXAA_pass;
|
||||
layout(set = 0, binding = 4) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 5) uniform sampler2D shift_and_bleed_pass;
|
||||
|
||||
|
||||
// Blur sizes must not depend on input resolution
|
||||
#define scalemod_x (params.OutputSize.x/360.0)
|
||||
#define scalemod_y (params.OutputSize.y/270.0)
|
||||
|
||||
#include "includes/pixel_glows.include.slang"
|
||||
|
||||
|
||||
|
||||
vec3 glow_blur_bias_smother_bloomer(sampler2D source_tex, vec2 co, vec3 pixel_glowed, float bias) {
|
||||
//Modulates the mix of the blurred version over the sharp one
|
||||
//by the luminosity difference of the blurred version and the original
|
||||
vec3 pixel_original = texture(source_tex,vTexCoord).rgb;
|
||||
vec3 pixel_sharp = pow(pixel_original,vec3(IN_GLOW_GAMMA)) * IN_GLOW_POWER;
|
||||
|
||||
vec3 pixel_glowed_c = clamp(pixel_glowed, 0.0, 1.0);
|
||||
vec3 pixel_sharp_c = clamp(pixel_sharp, 0.0, 1.0);
|
||||
|
||||
vec3 vmix = vec3( pixel_glowed_c.r - pixel_original.r,
|
||||
pixel_glowed_c.g - pixel_original.g,
|
||||
pixel_glowed_c.b - pixel_original.b);
|
||||
|
||||
vmix += IN_GLOW_BIAS;
|
||||
vmix = clamp(vmix, 0.0, 1.0);
|
||||
vmix *= vmix;
|
||||
return mix(pixel_sharp, pixel_glowed, vmix );
|
||||
//return mix(pixel_sharp, pixel_glowed, clamp( (vmix+0.01 * vInGlowBias) , 0.0,1.0) );
|
||||
//return pixel_sharp + pixel_glowed*clamp( (vmix+0.01 * vInGlowBias) , 0.0,1.0);
|
||||
}
|
||||
|
||||
vec3 glow_blur_bias_sharper_AA(sampler2D source_tex, vec2 co, vec3 pixel_glowed, float bias) {
|
||||
//from latitude. with pow.
|
||||
vec3 pixel_source = texture(source_tex, co).rgb;
|
||||
pixel_source = pow(pixel_source,vec3(IN_GLOW_GAMMA)) * IN_GLOW_POWER;
|
||||
|
||||
float glowlum = max(max(pixel_glowed.r, pixel_glowed.g), pixel_glowed.b);
|
||||
float orilum = max(max(pixel_source.r, pixel_source.g), pixel_source.b);
|
||||
glowlum = clamp(glowlum, 0.0, 1.0);
|
||||
orilum = clamp(orilum, 0.0, 1.0);
|
||||
float g_mix = (glowlum - orilum);
|
||||
g_mix += IN_GLOW_BIAS;
|
||||
g_mix = clamp(g_mix, 0.0, 1.0);
|
||||
g_mix *= g_mix ;
|
||||
return mix(pixel_source, pixel_glowed, g_mix);
|
||||
}
|
||||
|
||||
vec3 glow_blur_bias(sampler2D source_tex, vec2 co, vec3 pixel_glowed, float bias){
|
||||
if (IN_GLOW_W < 0.99)
|
||||
return glow_blur_bias_sharper_AA( source_tex, co, pixel_glowed, bias);
|
||||
else
|
||||
return glow_blur_bias_smother_bloomer( source_tex, co, pixel_glowed, bias);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void main() {
|
||||
|
||||
|
||||
|
||||
if (DO_IN_GLOW == 0.0) return;
|
||||
|
||||
vec3 pixel_glowed;
|
||||
if ( DO_SHIFT_RGB + DO_SAT_BLEED > 0.0) {
|
||||
pixel_glowed = pixel_glow(shift_and_bleed_pass, IN_GLOW_W, IN_GLOW_H, IN_GLOW_POWER, IN_GLOW_GAMMA, vTexCoord, params.OutputSize, params.OutputSize).rgb;
|
||||
if (IN_GLOW_BIAS < IN_GLOW_BIAS_MAX && (IN_GLOW_W < GLOW_SHARP_MAX || IN_GLOW_H < GLOW_SHARP_MAX) )
|
||||
pixel_glowed = glow_blur_bias(shift_and_bleed_pass, vTexCoord, pixel_glowed, IN_GLOW_BIAS);
|
||||
|
||||
}
|
||||
else if (DO_FXAA > 0.0) {
|
||||
pixel_glowed = pixel_glow(FXAA_pass, IN_GLOW_W, IN_GLOW_H, IN_GLOW_POWER, IN_GLOW_GAMMA, vTexCoord, params.OutputSize, params.OutputSize).rgb;
|
||||
if (IN_GLOW_BIAS < IN_GLOW_BIAS_MAX && (IN_GLOW_W < GLOW_SHARP_MAX || IN_GLOW_H < GLOW_SHARP_MAX) )
|
||||
pixel_glowed = glow_blur_bias(FXAA_pass, vTexCoord, pixel_glowed, IN_GLOW_BIAS);
|
||||
|
||||
}
|
||||
else {
|
||||
pixel_glowed = pixel_glow(first_pass, IN_GLOW_W, IN_GLOW_H, IN_GLOW_POWER, IN_GLOW_GAMMA, vTexCoord, params.OutputSize, params.OutputSize).rgb;
|
||||
if (IN_GLOW_BIAS < IN_GLOW_BIAS_MAX && (IN_GLOW_W < GLOW_SHARP_MAX || IN_GLOW_H < GLOW_SHARP_MAX) )
|
||||
pixel_glowed = glow_blur_bias(first_pass, vTexCoord, pixel_glowed, IN_GLOW_BIAS);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
FragColor = vec4((pixel_glowed),1.0);
|
||||
}
|
||||
|
67
bezel/koko-aio/shaders/in_glow_x.slang
Normal file
67
bezel/koko-aio/shaders/in_glow_x.slang
Normal file
@ -0,0 +1,67 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord ;
|
||||
}
|
||||
|
||||
|
||||
#pragma stage fragment
|
||||
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
layout(set = 0, binding = 5) uniform sampler2D shift_and_bleed_pass;
|
||||
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
void main() {
|
||||
if (DO_IN_GLOW == 0.0) return;
|
||||
|
||||
//Don't do anything if IN_GLOW_W and IN_GLOW_H are over the upper limit
|
||||
if (IN_GLOW_W >= GLOW_SHARP_MAX && IN_GLOW_H >= GLOW_SHARP_MAX) {
|
||||
return;
|
||||
}
|
||||
|
||||
float IN_GLOW_W_ADAPTED;
|
||||
//Auto calc glow sharpness via IN_GLOW_SPREAD
|
||||
if (IN_GLOW_W <= 0.00001)
|
||||
IN_GLOW_W_ADAPTED = IN_GLOW_SPREAD * IN_GLOW_SHARPNESS_SPREAD_RATIO_W;
|
||||
|
||||
|
||||
//Here lies the blur modifier from ntsc pass to glow.
|
||||
//I'm not expecting any performance hit,
|
||||
//since the lookup should have been cached already or will serve so.
|
||||
float ntsc_artifacts = texture(shift_and_bleed_pass, vTexCoord).a;
|
||||
|
||||
//apply an optional gain to artifacts
|
||||
ntsc_artifacts = ntsc_artifacts * IN_GLOW_NTSC_ARTF_MULT;
|
||||
//then apply the minimum treshold and scale them to input sharpness so that they can always blur to max.
|
||||
ntsc_artifacts = smoothstep(IN_GLOW_NTSC_ARTF_TRSH, 1.0, ntsc_artifacts * IN_GLOW_NTSC_ARTF_MULT) * IN_GLOW_W;
|
||||
|
||||
|
||||
|
||||
//finally "subtract" them to the configured sharpness (-> more blur)
|
||||
IN_GLOW_W_ADAPTED = IN_GLOW_W - ntsc_artifacts;
|
||||
|
||||
//don't allow lower values that look bad:
|
||||
IN_GLOW_W_ADAPTED = max(IN_GLOW_W_ADAPTED, MIN_IN_GLOW_SHARP);
|
||||
|
||||
//Make it resolution independent.
|
||||
IN_GLOW_W_ADAPTED = IN_GLOW_W_ADAPTED / NEW_SCALEMOD_X;
|
||||
|
||||
FragColor = vec4( blur9_x(shift_and_bleed_pass, vTexCoord, global.first_passSize.xy, IN_GLOW_W_ADAPTED), 1.0);
|
||||
|
||||
//To debug ntsc artifacts mask:
|
||||
if (IN_GLOW_SHOW_ARTF_MASK > 0.5)
|
||||
FragColor = vec4(ntsc_artifacts);
|
||||
|
||||
}
|
||||
|
119
bezel/koko-aio/shaders/in_glow_y.slang
Normal file
119
bezel/koko-aio/shaders/in_glow_y.slang
Normal file
@ -0,0 +1,119 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out float vIN_GLOW_H;
|
||||
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord ;
|
||||
|
||||
float IN_GLOW_H_ADAPTED = IN_GLOW_H;
|
||||
|
||||
//Auto calc glow sharpness via IN_GLOW_SPREAD
|
||||
if (IN_GLOW_H <= 0.00001)
|
||||
IN_GLOW_H_ADAPTED = IN_GLOW_SPREAD * IN_GLOW_SHARPNESS_SPREAD_RATIO_H;
|
||||
|
||||
//don't allow lower values that look bad:
|
||||
IN_GLOW_H_ADAPTED = max(IN_GLOW_H_ADAPTED, MIN_IN_GLOW_SHARP);
|
||||
|
||||
vIN_GLOW_H = IN_GLOW_H_ADAPTED / NEW_SCALEMOD_Y; //Make it resolution independent.
|
||||
}
|
||||
|
||||
|
||||
#pragma stage fragment
|
||||
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in float vIN_GLOW_H;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 5) uniform sampler2D shift_and_bleed_pass;
|
||||
layout(set = 0, binding = 6) uniform sampler2D Source;
|
||||
|
||||
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
vec3 glow_blur_bias(sampler2D source_tex, vec2 co, vec3 pixel_glowed, float bias){
|
||||
vec3 pixel_source = texture(source_tex, co).rgb;
|
||||
// Since I moved from one pass blur for glow to 2 passes (x,y), I've had to
|
||||
// move the pow to IN_GLOW_GAMMA in the previous pass, so pow-ering it
|
||||
// again here, is not needed.
|
||||
// pixel_source = pow(pixel_source,vec3(IN_GLOW_GAMMA)) * IN_GLOW_POWER;
|
||||
pixel_source = pixel_source * IN_GLOW_POWER;
|
||||
|
||||
vec3 glow_light = pixel_glowed - pixel_source;
|
||||
|
||||
glow_light = clamp(glow_light * IN_GLOW_SPREAD, 0.0, 1.0);
|
||||
|
||||
/* powering glow_light is fine when not dealing with scanline minimum thickness,
|
||||
* but when the scanline shape gets smaller, it kinda produces a visive
|
||||
* pow(x,2) by its own; in that case powering glow_light make things worse.
|
||||
* It makes sense, because we are emulating the light spread twice.
|
||||
* FIXME: How to deal with this?
|
||||
*/
|
||||
|
||||
//glow_light = pow(glow_light, vec3(2.0));
|
||||
|
||||
|
||||
|
||||
vec3 proper_glow = glow_light * glow_light + pixel_source;
|
||||
return mix(proper_glow, pixel_glowed, max(0.0, bias));
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
vec3 antialias_blur_bias(sampler2D source_tex, vec2 co, vec3 pixel_glowed, float bias){
|
||||
//Create a dilated and an eroded image, then mix between them via the blurred color.
|
||||
|
||||
vec3 pixel_source = texture(source_tex, co).rgb;
|
||||
pixel_source = pixel_source * IN_GLOW_POWER;
|
||||
|
||||
vec3 glow_light = clamp((pixel_glowed - pixel_source) * IN_GLOW_SPREAD, 0.0, 1.0);
|
||||
|
||||
vec3 pixel_glowed_inv = 1 - clamp(pixel_glowed, 0.0, 1.0);
|
||||
vec3 pixel_source_inv = 1 - clamp(pixel_source, 0.0, 1.0);
|
||||
|
||||
vec3 pixel_dark = clamp((pixel_glowed_inv - pixel_source_inv) * IN_GLOW_SPREAD, 0.0, 1.0) ;
|
||||
|
||||
vec3 pixel_dilated = pixel_source + glow_light ;
|
||||
vec3 pixel_eroded = pixel_source - pixel_dark ;
|
||||
|
||||
|
||||
//Dilate or erode depending on blurred brightness:
|
||||
vec3 pixel_dilated_eroded = mix(pixel_eroded, pixel_dilated, pixel_glowed);
|
||||
|
||||
//Unsharp mask:
|
||||
float sharpamt = 0.5;
|
||||
pixel_dilated_eroded = pixel_dilated_eroded + ((1 - pixel_glowed)*sharpamt);
|
||||
pixel_dilated_eroded = (pixel_dilated_eroded - sharpamt) * (1 + 2*sharpamt);
|
||||
|
||||
|
||||
return mix(pixel_dilated_eroded, pixel_glowed, max(0.0, bias));
|
||||
//return mix(pixel_out, pixel_glowed, max(0.0, bias));
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
void main() {
|
||||
if (DO_IN_GLOW == 0.0) return;
|
||||
|
||||
vec3 pixel_glowed;
|
||||
//apply just gamma and power for tighter blurs and exit:
|
||||
if (IN_GLOW_W >= GLOW_SHARP_MAX && IN_GLOW_H >= GLOW_SHARP_MAX) {
|
||||
pixel_glowed = texture(shift_and_bleed_pass,vTexCoord).rgb * IN_GLOW_POWER; //(Source, IN_GLOW_POWER, IN_GLOW_GAMMA, vTexCoord) ;
|
||||
} else {
|
||||
pixel_glowed = blur9_y(Source, vTexCoord, params.SourceSize.xy, vIN_GLOW_H) * IN_GLOW_POWER;
|
||||
if (IN_GLOW_BIAS < IN_GLOW_BIAS_MAX && (IN_GLOW_W < GLOW_SHARP_MAX || IN_GLOW_H < GLOW_SHARP_MAX) ) {
|
||||
pixel_glowed = glow_blur_bias(shift_and_bleed_pass, vTexCoord, pixel_glowed, IN_GLOW_BIAS);
|
||||
//pixel_glowed = antialias_blur_bias(shift_and_bleed_pass, vTexCoord, pixel_glowed, IN_GLOW_BIAS);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
FragColor = vec4(pixel_glowed,1.0);
|
||||
|
||||
}
|
||||
|
@ -1,21 +1,52 @@
|
||||
#include "pows.include.slang"
|
||||
#define Pi2 6.283
|
||||
#define bloom_directions 8
|
||||
|
||||
#define b_offset_x -0.05 //Why is this needed by bloom?
|
||||
|
||||
#define bdirections 8
|
||||
|
||||
vec3 bloom(sampler2D smp, vec2 uv, vec4 smpsize, vec2 dest_size, float quality, float gamma, float start_offset, float lod) {
|
||||
vec2 r = dest_size/smpsize.xy ;
|
||||
vec3 lookup;
|
||||
vec3 color = vec3(0.0,0.0,0.0);
|
||||
float steps=0.0;
|
||||
vec2 radius_blur_adapt(vec2 bsize){
|
||||
vec2 r;
|
||||
r.x = bsize.x / SCALEMOD_X;
|
||||
r.y = r.x * get_in_aspect();
|
||||
return r;
|
||||
}
|
||||
|
||||
for( float d=start_offset; d<Pi2; d+=Pi2/bdirections) {
|
||||
vec3 bloom_gamma_power(sampler2D smp, vec2 uv, vec4 smpsize, vec2 bsize, float quality, float gamma, float power, float start_offset, float lod) {
|
||||
vec2 r = radius_blur_adapt(bsize) ;
|
||||
vec3 lookup;
|
||||
vec3 color = vec3(0.0);
|
||||
vec3 vec3gamma = vec3(gamma);
|
||||
|
||||
for( float d=start_offset; d<TAU; d+=TAU/bdirections) {
|
||||
for(float i=1.0/quality; i<=1.0; i+=1.0/quality) {
|
||||
lookup = textureLod(smp, uv + vec2( cos(d), sin(d)) * r * i, lod ).rgb ;
|
||||
color +=pow(lookup.rgb,vec3(gamma));
|
||||
color +=pow(lookup.rgb, vec3gamma);
|
||||
}
|
||||
}
|
||||
color /= (quality*bdirections);
|
||||
return color * power;
|
||||
}
|
||||
|
||||
vec3 bloom_gamma(sampler2D smp, vec2 uv, vec4 smpsize, vec2 bsize, float quality, float gamma, float start_offset, float lod) {
|
||||
vec2 r = radius_blur_adapt(bsize);
|
||||
vec3 lookup;
|
||||
vec3 color = vec3(0.0);
|
||||
vec3 vec3gamma = vec3(gamma);
|
||||
|
||||
for( float d=start_offset; d<TAU; d+=TAU/bdirections) {
|
||||
for(float i=1.0/quality; i<=1.0; i+=1.0/quality) {
|
||||
lookup = textureLod(smp, uv + vec2( cos(d), sin(d)) * r * i, lod ).rgb ;
|
||||
color +=pow(lookup.rgb, vec3gamma);
|
||||
}
|
||||
}
|
||||
color /= (quality*bdirections);
|
||||
return color;
|
||||
}
|
||||
|
||||
vec3 bloom(sampler2D smp, vec2 uv, vec4 smpsize, vec2 bsize, float quality, float start_offset, float lod) {
|
||||
vec2 r = radius_blur_adapt(bsize);
|
||||
vec3 lookup;
|
||||
vec3 color = vec3(0.0);
|
||||
for( float d=start_offset; d<TAU; d+=TAU/bdirections) {
|
||||
for(float i=1.0/quality; i<=1.0; i+=1.0/quality) {
|
||||
lookup = textureLod(smp, uv + vec2( cos(d), sin(d)) * r * i, lod ).rgb ;
|
||||
color += lookup.rgb;
|
||||
}
|
||||
}
|
||||
color /= (quality*bdirections);
|
||||
|
@ -109,16 +109,24 @@ float random(float power, vec2 seed) {
|
||||
float dt = dot(seed.xy, vec2(RND_A, RND_B));
|
||||
float sn = mod(dt,3.14);
|
||||
|
||||
float noise_out = fract(sin(sn) * RND_C) - 0.5;
|
||||
noise_out = clamp(noise_out, -power, power);
|
||||
return noise_out ;
|
||||
float noise_out = fract(sin(sn) * RND_C);
|
||||
//noise_out = clamp(noise_out, -power, power);
|
||||
noise_out = scale_to_range(noise_out, -power, power);
|
||||
return noise_out;
|
||||
}
|
||||
|
||||
|
||||
//CURVATURE
|
||||
#define corner_aspect vec2(1.0, 0.75)
|
||||
float border(vec2 coord)
|
||||
{
|
||||
float border(vec2 coord) {
|
||||
//if (GEOM_CORNER_SIZE < 0.02) {
|
||||
/*float fout = float(coord.x > 0.0 &&
|
||||
coord.y > 0.0 &&
|
||||
coord.x < 1.0 &&
|
||||
coord.y < 1.0
|
||||
);
|
||||
return fout;
|
||||
//}*/
|
||||
coord = (coord - vec2(0.5)) + vec2(0.5, 0.5);
|
||||
coord = min(coord, vec2(1.0) - coord) * corner_aspect;
|
||||
vec2 cdist = vec2(GEOM_CORNER_SIZE);
|
||||
@ -126,20 +134,51 @@ float random(float power, vec2 seed) {
|
||||
float dist = sqrt(dot(coord, coord));
|
||||
return clamp((cdist.x - dist)*GEOM_CORNER_SMOOTH, 0.0, 1.0);
|
||||
}
|
||||
|
||||
|
||||
vec2 Warp(vec2 uv,float wx, float wy){
|
||||
|
||||
vec2 Warp_06(vec2 uv) {
|
||||
//Pre-calc version for curvature = 0.6,0.6
|
||||
uv = uv * 2.0 - 1.0;
|
||||
vec2 CRT_Distortion = vec2(wx, wy);
|
||||
float curvedCoordsDistance = length(uv);
|
||||
uv /= curvedCoordsDistance;
|
||||
uv *= (1.0-pow(vec2(1.0-(curvedCoordsDistance/1.4142135623730950488016887242097)),(1.0/(1.0+CRT_Distortion*0.2))));
|
||||
uv /= (1.0-pow(vec2(0.29289321881345247559915563789515),(1.0/(vec2(1.0)+CRT_Distortion*0.2))));
|
||||
uv *= 1.0-pow(vec2(1.0-(curvedCoordsDistance/1.4142)), vec2(0.8928) );
|
||||
uv /= 0.6659;
|
||||
uv = uv* 0.5 + 0.5;
|
||||
return uv;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//warp full new
|
||||
vec2 Warp(vec2 uv,float wx, float wy){
|
||||
// Transform coordinates to range [-1, 1]
|
||||
uv = uv * 2.0 - 1.0;
|
||||
vec2 pow_exp = 1.0/(1.0+vec2(wx, wy) * 0.2 ) ;
|
||||
float curvedCoordsDistance = length(uv);
|
||||
vec2 pow_base = vec2(1.0-(curvedCoordsDistance/1.4142135623730950488016887242097));
|
||||
pow_base = abs(pow_base); // <-- this way intel and nvidia (probably amd) acts the same.
|
||||
uv /= curvedCoordsDistance;
|
||||
uv *= (1.0-pow(pow_base, pow_exp ));
|
||||
uv /= (1.0-pow(vec2(0.29289321881345247559915563789515), pow_exp ));
|
||||
// Transform coordinates back to [0, 1]
|
||||
return uv* 0.5 + 0.5;
|
||||
}
|
||||
|
||||
vec2 Warp_fast(vec2 uv, vec2 v_exp, vec2 arg2) {
|
||||
/*This version is exact and faster than the other implementation,
|
||||
* Just because it needs precalculed arguments that can live in
|
||||
* vertex shader
|
||||
*/
|
||||
// Transform coordinates to range [-1, 1]
|
||||
uv = uv * 2.0 - 1.0;
|
||||
float curvedCoordsDistance = length(uv);
|
||||
vec2 pow_base = vec2(1.0-(curvedCoordsDistance/1.4142));
|
||||
pow_base = abs(pow_base); // <-- this way intel and nvidia (probably amd) acts the same.
|
||||
uv /= curvedCoordsDistance;
|
||||
uv *= 1.0-pow(pow_base, v_exp );
|
||||
uv /= arg2;
|
||||
// Transform coordinates back to [0, 1]
|
||||
return uv * 0.5 + 0.5;
|
||||
}
|
||||
|
||||
|
||||
//VIGNETTE - SPOT
|
||||
/* float gauss(float x, float x0, float sx, float size, float power){
|
||||
float arg = x-x0;
|
||||
@ -161,7 +200,11 @@ float random(float power, vec2 seed) {
|
||||
//AMBILIGHT RELATED
|
||||
bool border_needed() {
|
||||
//returns if we need to draw on the border
|
||||
#ifdef STATIC_SUPPORT_BACKDROP
|
||||
return true;
|
||||
#else
|
||||
return (DO_AMBILIGHT + DO_BG_IMAGE > 0.0);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -173,7 +216,7 @@ float random(float power, vec2 seed) {
|
||||
}
|
||||
#define is_useless(x) is_outer_frame(x)
|
||||
bool is_outer_frame(vec4 pixel) {
|
||||
return pixel.a == 0.0;
|
||||
return pixel.a <= 0.004; // about 1/256
|
||||
/*Check if a pixel is marked as border by comparing the value of its alpha channel
|
||||
Tolerance is needed, because precision can be as low as 1/256; since I don't need
|
||||
alpha channel, use an even large tolerance.
|
||||
@ -194,16 +237,14 @@ float random(float power, vec2 seed) {
|
||||
}
|
||||
|
||||
float get_in_aspect() {
|
||||
if (ASPECT_X == -1) return 1.5; // ntsc
|
||||
if (ASPECT_X == -2) return 1.25; // pal
|
||||
if (ASPECT_X == -3) return 1.143; // 8/7 snes
|
||||
if (ASPECT_X == -4) return 1.428; // 10/7 megadrive
|
||||
if (ASPECT_X == -5) return params.OriginalSize.x/params.OriginalSize.y; //uncorrected
|
||||
if (ASPECT_X == -6) return 0.75; // 3/4, pre-rotated (TATE) 1.33 games.
|
||||
if (ASPECT_X == 0) {
|
||||
return 1.3333333333333; //all mame games, not rotated
|
||||
}
|
||||
return ASPECT_X / ASPECT_Y ;
|
||||
if (ASPECT_X == 0) return 1.3333333333333; //all mame games, not rotated
|
||||
if (ASPECT_X == -1) return 1.5; // ntsc
|
||||
if (ASPECT_X == -2) return 1.25; // pal
|
||||
if (ASPECT_X == -3) return 1.143; // 8/7 snes
|
||||
if (ASPECT_X == -4) return 1.428; // 10/7 megadrive
|
||||
if (ASPECT_X == -5) return params.OriginalSize.x/params.OriginalSize.y; //uncorrected
|
||||
if (ASPECT_X == -6) return 0.75; // 3/4, pre-rotated (TATE) 1.33 games.
|
||||
return ASPECT_X / ASPECT_Y ;
|
||||
}
|
||||
|
||||
vec2 get_scaled_coords_aspect(vec2 pTexCoord, vec4 destsize, float in_aspect , bool is_rotated){
|
||||
@ -234,17 +275,9 @@ float random(float power, vec2 seed) {
|
||||
float offset_y = 0.0 ;
|
||||
float in_aspect = get_in_aspect();
|
||||
if (is_rotated) {
|
||||
//I'm doing ping pong between th the following 2:
|
||||
//FIXME: verify if it depends on destsize being outputsize or finalviewportsize!!
|
||||
//scale_y = destsize.y/(destsize.x / in_aspect );
|
||||
scale_y = destsize.x/(destsize.y / in_aspect );
|
||||
|
||||
scale_y = destsize.x/(destsize.y / in_aspect );
|
||||
offset_y = (0.5 * scale_y ) - 0.5 ;
|
||||
|
||||
|
||||
} else {
|
||||
//scale_x = params.OutputSize.x/(params.OutputSize.y * in_aspect);
|
||||
//scale_x = global.FinalViewportSize.x/(global.FinalViewportSize.y * in_aspect);
|
||||
scale_x = destsize.x/(destsize.y * in_aspect);
|
||||
offset_x = (0.5 * scale_x ) - 0.5 ;
|
||||
}
|
||||
@ -253,5 +286,139 @@ float random(float power, vec2 seed) {
|
||||
return scale_coord;
|
||||
}
|
||||
|
||||
//Blur/Glow
|
||||
vec3 glow_dumb(sampler2D in_texture, float glow_power, float gamma, vec2 coords) {
|
||||
return pow( texture(in_texture, coords).rgb, vec3(gamma) ) * glow_power;
|
||||
}
|
||||
|
||||
vec3 blur9_x(sampler2D image, vec2 uv, vec2 sourcesize, float sharpness_x) {
|
||||
vec2 resolution = sourcesize * sharpness_x;
|
||||
vec3 color = vec3(0.0);
|
||||
vec2 off1 = vec2(1.3846153846, 0.0) ;
|
||||
vec2 off2 = vec2(3.2307692308, 0.0) ;
|
||||
color += texture(image, uv).rgb * 0.2270270270;
|
||||
color += texture(image, uv + (off1 / resolution)).rgb * 0.3162162162;
|
||||
color += texture(image, uv - (off1 / resolution)).rgb * 0.3162162162;
|
||||
color += texture(image, uv + (off2 / resolution)).rgb * 0.0702702703;
|
||||
color += texture(image, uv - (off2 / resolution)).rgb * 0.0702702703;
|
||||
return color;
|
||||
}
|
||||
|
||||
vec3 blur9_x_gamma(sampler2D image, vec2 uv, vec2 sourcesize, float sharpness_x, vec3 gamma) {
|
||||
vec2 resolution = sourcesize * sharpness_x;
|
||||
vec3 color = vec3(0.0);
|
||||
vec2 off1 = vec2(1.3846153846, 0.0) ;
|
||||
vec2 off2 = vec2(3.2307692308, 0.0) ;
|
||||
vec3 lookup = texture(image, uv).rgb;
|
||||
color += pow(lookup, gamma) * 0.2270270270;
|
||||
lookup = texture(image, uv + (off1 / resolution)).rgb;
|
||||
color += pow(lookup, gamma) * 0.3162162162;
|
||||
lookup = texture(image, uv - (off1 / resolution)).rgb;
|
||||
color += pow(lookup, gamma) * 0.3162162162;
|
||||
lookup = texture(image, uv + (off2 / resolution)).rgb;
|
||||
color += pow(lookup, gamma) * 0.0702702703;
|
||||
lookup = texture(image, uv - (off2 / resolution)).rgb;
|
||||
color += pow(lookup, gamma) * 0.0702702703;
|
||||
return color;
|
||||
}
|
||||
|
||||
vec3 blur9_y(sampler2D image, vec2 uv, vec2 sourcesize, float sharpness_y) {
|
||||
vec2 resolution = sourcesize * sharpness_y;
|
||||
vec3 color = vec3(0.0);
|
||||
vec2 off1 = vec2(0.0, 1.3846153846) ;
|
||||
vec2 off2 = vec2(0.0, 3.2307692308) ;
|
||||
color += texture(image, uv).rgb * 0.2270270270;
|
||||
color += texture(image, uv + (off1 / resolution)).rgb * 0.3162162162;
|
||||
color += texture(image, uv - (off1 / resolution)).rgb * 0.3162162162;
|
||||
color += texture(image, uv + (off2 / resolution)).rgb * 0.0702702703;
|
||||
color += texture(image, uv - (off2 / resolution)).rgb * 0.0702702703;
|
||||
return color;
|
||||
}
|
||||
|
||||
/*float is_scanline(vec2 uv){
|
||||
return float(int(mod(uv.y * params.OutputSize.y , 2.0 )) !=0.0) ;
|
||||
}
|
||||
|
||||
vec3 blur9_y_e_scanline(sampler2D image, vec2 uv, vec2 sourcesize, float sharpness_y) {
|
||||
|
||||
float mymod = int(mod(uv.y * params.OutputSize.y , 2.0 )) ;
|
||||
float scanline = float( (mymod != 0.0) ) ;
|
||||
|
||||
vec2 resolution = sourcesize * sharpness_y;
|
||||
vec3 color = vec3(0.0);
|
||||
vec2 off1 = vec2(0.0, 1.3846153846) ;
|
||||
vec2 off2 = vec2(0.0, 3.2307692308) ;
|
||||
scanline = is_scanline(uv);
|
||||
color += texture(image, uv).rgb * scanline * 0.2270270270;
|
||||
scanline = is_scanline(uv + (off1 / resolution));
|
||||
color += texture(image, uv + (off1 / resolution)).rgb * scanline * 0.3162162162;
|
||||
scanline = is_scanline(uv - (off1 / resolution) );
|
||||
color += texture(image, uv - (off1 / resolution)).rgb * scanline * 0.3162162162;
|
||||
scanline = is_scanline(uv + (off2 / resolution) );
|
||||
color += texture(image, uv + (off2 / resolution)).rgb * scanline * 0.0702702703;
|
||||
scanline = is_scanline(uv - (off2 / resolution) );
|
||||
color += texture(image, uv - (off2 / resolution)).rgb * scanline * 0.0702702703;
|
||||
return color;
|
||||
}
|
||||
|
||||
|
||||
vec3 blur9_y_alpha_aware(sampler2D image, vec2 uv, vec2 sourcesize, float sharpness_y) {
|
||||
vec2 resolution = sourcesize * sharpness_y;
|
||||
vec2 off1 = vec2(0.0, 1.3846153846) ;
|
||||
vec2 off2 = vec2(0.0, 3.2307692308) ;
|
||||
vec3 color = vec3(0.0);
|
||||
vec4 lookup = texture(image, uv); color += lookup.a * lookup.rgb * 0.2270270270;
|
||||
lookup = texture(image, uv + (off1 / resolution)); color += lookup.a * lookup.rgb * 0.3162162162;
|
||||
lookup = texture(image, uv - (off1 / resolution)); color += lookup.a * lookup.rgb * 0.3162162162;
|
||||
lookup = texture(image, uv + (off2 / resolution)); color += lookup.a * lookup.rgb * 0.0702702703;
|
||||
lookup = texture(image, uv - (off2 / resolution)); color += lookup.a * lookup.rgb * 0.0702702703;
|
||||
return color;
|
||||
}
|
||||
*/
|
||||
|
||||
vec3 blur5_x(sampler2D image, vec2 uv, vec2 sourcesize, float sharpness_x, float lod) {
|
||||
vec2 resolution = sourcesize * sharpness_x;
|
||||
vec3 color = vec3(0.0);
|
||||
vec2 off1 = vec2(1.333333333333, 0.0) ;
|
||||
color += textureLod(image, uv, lod).rgb * 0.29411764705882354;
|
||||
color += textureLod(image, uv + (off1 / resolution), lod).rgb * 0.35294117647058826;
|
||||
color += textureLod(image, uv - (off1 / resolution), lod).rgb * 0.35294117647058826;
|
||||
return color;
|
||||
}
|
||||
|
||||
vec3 blur5_y(sampler2D image, vec2 uv, vec2 sourcesize, float sharpness_y, float lod) {
|
||||
vec2 resolution = sourcesize * sharpness_y;
|
||||
vec3 color = vec3(0.0);
|
||||
vec2 off1 = vec2(0.0, 1.333333333333) ;
|
||||
color += textureLod(image, uv, lod).rgb * 0.29411764705882354;
|
||||
color += textureLod(image, uv + (off1 / resolution), lod).rgb * 0.35294117647058826;
|
||||
color += textureLod(image, uv - (off1 / resolution), lod).rgb * 0.35294117647058826;
|
||||
return color;
|
||||
}
|
||||
|
||||
float rgb_to_gray(vec3 rgb) {
|
||||
return dot(rgb, vec3(0.299, 0.587, 0.114));
|
||||
}
|
||||
|
||||
//smoothly shade x and y < 0.0, currently unused
|
||||
/*float blur_shade(vec2 co, float size) {
|
||||
|
||||
float co_1D;
|
||||
(co.x < 0.0 || co.x > 1.0) ? co_1D = co.x : co_1D = co.y ;
|
||||
|
||||
float side_hi_switch = float(co_1D > 1.0);
|
||||
float side_lo_switch = float(co_1D < 0.0);
|
||||
|
||||
float smooth_min = 1.0 * side_hi_switch;
|
||||
float smooth_max = smooth_min + (
|
||||
( size * side_hi_switch) +
|
||||
(-size * side_lo_switch )
|
||||
);
|
||||
|
||||
return smoothstep(smooth_min, smooth_max, co_1D);
|
||||
}
|
||||
*/
|
||||
|
||||
float get_dyn_zoom(sampler2D tex) {
|
||||
return 1.0 + (texture(tex, vec2(0.75,0.75) ).a/ DYNZOOM_FACTOR) ;
|
||||
}
|
||||
|
@ -1,16 +1,141 @@
|
||||
|
||||
|
||||
vec3 diff_weight(vec3 v1, vec3 ref, float bias) {
|
||||
float v1_lum = max(max(v1.r, v1.g), v1.b);
|
||||
float ref_lum = max(max(ref.r, ref.g), ref.b);
|
||||
v1_lum=clamp(v1_lum,0.0,1.0);
|
||||
ref_lum=clamp(ref_lum,0.0,1.0);
|
||||
float g_mix = v1_lum - ref_lum;
|
||||
g_mix += IN_GLOW_BIAS ;
|
||||
g_mix = clamp(g_mix, 0.0, 1.0);
|
||||
return mix(ref, v1, g_mix);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* This commented version is a blur that blurs only brighter colors.
|
||||
* I'm not using it, because a cheaper method is available in in_glow.slang
|
||||
* Very, very little visual differences but a small penalty in performance
|
||||
* so i prefer that one.
|
||||
*
|
||||
* vec3 brighter(vec3 first, vec3 second){
|
||||
vec3 pixel_out;
|
||||
pixel_out.r = ((first.r - second.r));
|
||||
pixel_out.g = ((first.g - second.g));
|
||||
pixel_out.b = ((first.b - second.b));
|
||||
return clamp(pixel_out, IN_GLOW_BIAS,1.0);
|
||||
}
|
||||
|
||||
vec4 pixel_glow_std_pow_bloom_only(sampler2D in_texture, float my_glowpix, float my_glowpixy, float my_glow, float glow_gamma, vec2 coords, vec4 SourceSize1, vec4 SourceSize2) {
|
||||
|
||||
// Calculating texel coordinates
|
||||
vec2 tex = coords.xy * 1.00001;
|
||||
|
||||
vec2 OGL2Pos = tex * SourceSize2.xy - vec2(0.5,0.5); // vec2 OGL2Pos = tex * SourceSize2.xy - vec2(0.5,0.5); // vec2 OGL2Pos = tex * SourceSize1.xy - vec2(0.5,0.5);
|
||||
vec2 fp = fract(OGL2Pos);
|
||||
vec2 dx = vec2(SourceSize1.z,0.0) ; // vec2 dx = vec2(params.passthrough_and_cc_passSize.z,0.0) ; //
|
||||
vec2 dy = vec2(0.0,SourceSize1.w) ; // vec2 dy = vec2(0.0,params.passthrough_and_cc_passSize.w); //
|
||||
vec2 pC4 = (floor(OGL2Pos) + vec2(0.5)) * SourceSize2.zw;
|
||||
|
||||
vec2 x2 = 2.0*dx; vec2 x3 = 3.0*dx;
|
||||
vec2 y2 = 2.0*dy;
|
||||
|
||||
vec3 glow_gamma_vec3 = vec3(glow_gamma);
|
||||
|
||||
my_glowpix = my_glowpix / scalemod_x * 2 ; // <-- Make it not dependant on the input resolution.
|
||||
my_glowpixy = my_glowpixy / scalemod_y *2 ;
|
||||
|
||||
float wl3 = 2.0 + fp.x; wl3*=wl3; wl3 = exp2(-my_glowpix*wl3);
|
||||
float wl2 = 1.0 + fp.x; wl2*=wl2; wl2 = exp2(-my_glowpix*wl2);
|
||||
float wl1 = fp.x; wl1*=wl1; wl1 = exp2(-my_glowpix*wl1);
|
||||
float wr1 = 1.0 - fp.x; wr1*=wr1; wr1 = exp2(-my_glowpix*wr1);
|
||||
float wr2 = 2.0 - fp.x; wr2*=wr2; wr2 = exp2(-my_glowpix*wr2);
|
||||
float wr3 = 3.0 - fp.x; wr3*=wr3; wr3 = exp2(-my_glowpix*wr3);
|
||||
|
||||
float wt = 1.0/(wl3+wl2+wl1+wr1+wr2+wr3);
|
||||
|
||||
vec3 center_pixel = texture(in_texture, coords ).rgb;
|
||||
|
||||
|
||||
vec3 l3 = texture(in_texture, pC4 -x2 ).rgb;
|
||||
vec3 l2 = texture(in_texture, pC4 -dx ).rgb;
|
||||
vec3 l1 = texture(in_texture, pC4 ).rgb;
|
||||
vec3 r1 = texture(in_texture, pC4 +dx ).rgb;
|
||||
vec3 r2 = texture(in_texture, pC4 +x2 ).rgb;
|
||||
vec3 r3 = texture(in_texture, pC4 +x3 ).rgb;
|
||||
|
||||
l3 = mix(center_pixel, l3, brighter(l3, center_pixel));
|
||||
l2 = mix(center_pixel, l2, brighter(l2, center_pixel));
|
||||
l1 = mix(center_pixel, l1, brighter(l1, center_pixel));
|
||||
r1 = mix(center_pixel, r1, brighter(r1, center_pixel));
|
||||
r2 = mix(center_pixel, r2, brighter(r2, center_pixel));
|
||||
r3 = mix(center_pixel, r3, brighter(r3, center_pixel));
|
||||
|
||||
l3=pow(l3,glow_gamma_vec3); l2=pow(l2,glow_gamma_vec3); l1=pow(l1,glow_gamma_vec3);
|
||||
r1=pow(r1,glow_gamma_vec3); r2=pow(r2,glow_gamma_vec3); r3=pow(r3,glow_gamma_vec3);
|
||||
|
||||
vec3 t1 = (l3*wl3 + l2*wl2 + l1*wl1 + r1*wr1 + r2*wr2 + r3*wr3)*wt;
|
||||
|
||||
l3 = texture(in_texture, pC4 -x2 -dy).rgb;
|
||||
l2 = texture(in_texture, pC4 -dx -dy).rgb;
|
||||
l1 = texture(in_texture, pC4 -dy).rgb;
|
||||
r1 = texture(in_texture, pC4 +dx -dy).rgb;
|
||||
r2 = texture(in_texture, pC4 +x2 -dy).rgb;
|
||||
r3 = texture(in_texture, pC4 +x3 -dy).rgb;
|
||||
|
||||
l3 = mix(center_pixel, l3, brighter(l3, center_pixel));
|
||||
l2 = mix(center_pixel, l2, brighter(l2, center_pixel));
|
||||
l1 = mix(center_pixel, l1, brighter(l1, center_pixel));
|
||||
r1 = mix(center_pixel, r1, brighter(r1, center_pixel));
|
||||
r2 = mix(center_pixel, r2, brighter(r2, center_pixel));
|
||||
r3 = mix(center_pixel, r3, brighter(r3, center_pixel));
|
||||
|
||||
l3=pow(l3,glow_gamma_vec3); l2=pow(l2,glow_gamma_vec3); l1=pow(l1,glow_gamma_vec3);
|
||||
r1=pow(r1,glow_gamma_vec3); r2=pow(r2,glow_gamma_vec3); r3=pow(r3,glow_gamma_vec3);
|
||||
|
||||
vec3 t2 = (l3*wl3 + l2*wl2 + l1*wl1 + r1*wr1 + r2*wr2 + r3*wr3)*wt;
|
||||
|
||||
l3 = texture(in_texture, pC4 -x2 +dy).rgb;
|
||||
l2 = texture(in_texture, pC4 -dx +dy).rgb;
|
||||
l1 = texture(in_texture, pC4 +dy).rgb;
|
||||
r1 = texture(in_texture, pC4 +dx +dy).rgb;
|
||||
r2 = texture(in_texture, pC4 +x2 +dy).rgb;
|
||||
r3 = texture(in_texture, pC4 +x3 +dy).rgb;
|
||||
|
||||
l3 = mix(center_pixel, l3, brighter(l3, center_pixel));
|
||||
l2 = mix(center_pixel, l2, brighter(l2, center_pixel));
|
||||
l1 = mix(center_pixel, l1, brighter(l1, center_pixel));
|
||||
r1 = mix(center_pixel, r1, brighter(r1, center_pixel));
|
||||
r2 = mix(center_pixel, r2, brighter(r2, center_pixel));
|
||||
r3 = mix(center_pixel, r3, brighter(r3, center_pixel));
|
||||
|
||||
l3=pow(l3,glow_gamma_vec3); l2=pow(l2,glow_gamma_vec3); l1=pow(l1,glow_gamma_vec3);
|
||||
r1=pow(r1,glow_gamma_vec3); r2=pow(r2,glow_gamma_vec3); r3=pow(r3,glow_gamma_vec3);
|
||||
|
||||
vec3 b1 = (l3*wl3 + l2*wl2 + l1*wl1 + r1*wr1 + r2*wr2 + r3*wr3)*wt;
|
||||
|
||||
l3 = texture(in_texture, pC4 -x2 +y2).rgb;
|
||||
l2 = texture(in_texture, pC4 -dx +y2).rgb;
|
||||
l1 = texture(in_texture, pC4 +y2).rgb;
|
||||
r1 = texture(in_texture, pC4 +dx +y2).rgb;
|
||||
r2 = texture(in_texture, pC4 +x2 +y2).rgb;
|
||||
r3 = texture(in_texture, pC4 +x3 +y2).rgb;
|
||||
|
||||
l3 = mix(center_pixel, l3, brighter(l3, center_pixel));
|
||||
l2 = mix(center_pixel, l2, brighter(l2, center_pixel));
|
||||
l1 = mix(center_pixel, l1, brighter(l1, center_pixel));
|
||||
r1 = mix(center_pixel, r1, brighter(r1, center_pixel));
|
||||
r2 = mix(center_pixel, r2, brighter(r2, center_pixel));
|
||||
r3 = mix(center_pixel, r3, brighter(r3, center_pixel));
|
||||
|
||||
l3=pow(l3,glow_gamma_vec3); l2=pow(l2,glow_gamma_vec3); l1=pow(l1,glow_gamma_vec3);
|
||||
r1=pow(r1,glow_gamma_vec3); r2=pow(r2,glow_gamma_vec3); r3=pow(r3,glow_gamma_vec3);
|
||||
|
||||
vec3 b2 = (l3*wl3 + l2*wl2 + l1*wl1 + r1*wr1 + r2*wr2 + r3*wr3)*wt;
|
||||
|
||||
wl2 = 1.0 + fp.y; wl2*=wl2; wl2 = exp2(-my_glowpixy*wl2);
|
||||
wl1 = fp.y; wl1*=wl1; wl1 = exp2(-my_glowpixy*wl1);
|
||||
wr1 = 1.0 - fp.y; wr1*=wr1; wr1 = exp2(-my_glowpixy*wr1);
|
||||
wr2 = 2.0 - fp.y; wr2*=wr2; wr2 = exp2(-my_glowpixy*wr2);
|
||||
|
||||
wt = 1.0/(wl2+wl1+wr1+wr2);
|
||||
|
||||
vec3 Bloom = (t2*wl2 + t1*wl1 + b1*wr1 + b2*wr2)*wt;
|
||||
|
||||
return vec4(Bloom*my_glow,1.0);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@ -49,6 +174,7 @@ vec4 pixel_glow_std_pow(sampler2D in_texture, float my_glowpix, float my_glowpix
|
||||
vec3 r1 = texture(in_texture, pC4 +dx ).rgb;
|
||||
vec3 r2 = texture(in_texture, pC4 +x2 ).rgb;
|
||||
vec3 r3 = texture(in_texture, pC4 +x3 ).rgb;
|
||||
|
||||
l3=pow(l3,glow_gamma_vec3); l2=pow(l2,glow_gamma_vec3); l1=pow(l1,glow_gamma_vec3);
|
||||
r1=pow(r1,glow_gamma_vec3); r2=pow(r2,glow_gamma_vec3); r3=pow(r3,glow_gamma_vec3);
|
||||
|
||||
@ -60,6 +186,7 @@ vec4 pixel_glow_std_pow(sampler2D in_texture, float my_glowpix, float my_glowpix
|
||||
r1 = texture(in_texture, pC4 +dx -dy).rgb;
|
||||
r2 = texture(in_texture, pC4 +x2 -dy).rgb;
|
||||
r3 = texture(in_texture, pC4 +x3 -dy).rgb;
|
||||
|
||||
l3=pow(l3,glow_gamma_vec3); l2=pow(l2,glow_gamma_vec3); l1=pow(l1,glow_gamma_vec3);
|
||||
r1=pow(r1,glow_gamma_vec3); r2=pow(r2,glow_gamma_vec3); r3=pow(r3,glow_gamma_vec3);
|
||||
|
||||
@ -71,6 +198,7 @@ vec4 pixel_glow_std_pow(sampler2D in_texture, float my_glowpix, float my_glowpix
|
||||
r1 = texture(in_texture, pC4 +dx +dy).rgb;
|
||||
r2 = texture(in_texture, pC4 +x2 +dy).rgb;
|
||||
r3 = texture(in_texture, pC4 +x3 +dy).rgb;
|
||||
|
||||
l3=pow(l3,glow_gamma_vec3); l2=pow(l2,glow_gamma_vec3); l1=pow(l1,glow_gamma_vec3);
|
||||
r1=pow(r1,glow_gamma_vec3); r2=pow(r2,glow_gamma_vec3); r3=pow(r3,glow_gamma_vec3);
|
||||
|
||||
@ -82,6 +210,7 @@ vec4 pixel_glow_std_pow(sampler2D in_texture, float my_glowpix, float my_glowpix
|
||||
r1 = texture(in_texture, pC4 +dx +y2).rgb;
|
||||
r2 = texture(in_texture, pC4 +x2 +y2).rgb;
|
||||
r3 = texture(in_texture, pC4 +x3 +y2).rgb;
|
||||
|
||||
l3=pow(l3,glow_gamma_vec3); l2=pow(l2,glow_gamma_vec3); l1=pow(l1,glow_gamma_vec3);
|
||||
r1=pow(r1,glow_gamma_vec3); r2=pow(r2,glow_gamma_vec3); r3=pow(r3,glow_gamma_vec3);
|
||||
|
||||
@ -99,16 +228,21 @@ vec4 pixel_glow_std_pow(sampler2D in_texture, float my_glowpix, float my_glowpix
|
||||
return vec4(Bloom*my_glow,1.0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
vec4 dumb_glow(sampler2D in_texture, float my_glow, float glow_gamma, vec2 coords) {
|
||||
/*vec4 dumb_glow(sampler2D in_texture, float my_glow, float glow_gamma, vec2 coords) {
|
||||
vec3 pixel_in = texture(in_texture, coords ).rgb;
|
||||
pixel_in = pow(pixel_in,vec3(glow_gamma))*my_glow;
|
||||
return vec4(pixel_in,0.0);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
vec4 pixel_glow(sampler2D in_texture, float my_glowpix, float my_glowpixy, float my_glow, float glow_gamma, vec2 coords, vec4 SourceSize1, vec4 SourceSize2) {
|
||||
|
||||
|
||||
if ( (my_glowpix >= GLOW_SHARP_MAX) && (my_glowpixy >= GLOW_SHARP_MAX) ) {
|
||||
return dumb_glow(in_texture, my_glow,glow_gamma,coords);
|
||||
}
|
||||
|
@ -1,59 +0,0 @@
|
||||
vec3 pow_2(vec3 v) {
|
||||
return v*v*v;
|
||||
}
|
||||
|
||||
vec3 pow_3(vec3 v) {
|
||||
return v*v*v;
|
||||
}
|
||||
|
||||
vec3 pow_4(vec3 v) {
|
||||
vec3 v2 = v*v;
|
||||
return v2*v2;
|
||||
}
|
||||
|
||||
vec3 pow_5(vec3 v) {
|
||||
vec3 v2 = v*v;
|
||||
return v2*v2*v;
|
||||
}
|
||||
|
||||
vec3 pow_6(vec3 v) {
|
||||
vec3 v2 = v*v;
|
||||
return v2*v2*v2;
|
||||
}
|
||||
|
||||
vec3 pow_7(vec3 v) {
|
||||
vec3 v2 = v*v;
|
||||
return v2*v2*v2*v;
|
||||
}
|
||||
|
||||
vec3 pow_8(vec3 v) {
|
||||
vec3 v2 = v*v;
|
||||
vec3 v4 = v2*v2;
|
||||
return v4*v4;
|
||||
}
|
||||
|
||||
vec3 pow_9(vec3 v) {
|
||||
vec3 v2 = v*v;
|
||||
vec3 v4 = v2*v2;
|
||||
return v4*v4*v;
|
||||
}
|
||||
|
||||
vec3 pow_10(vec3 v) {
|
||||
vec3 v2 = v*v;
|
||||
vec3 v4 = v2*v2;
|
||||
return v4*v4*v2;
|
||||
}
|
||||
|
||||
vec3 my_pow(vec3 c,float p) {
|
||||
if (p == 1) return c;
|
||||
else if (p == 2) return c * c ;
|
||||
else if (p == 3) return pow_3(c);
|
||||
else if (p == 4) return pow_4(c);
|
||||
else if (p == 5) return pow_5(c);
|
||||
else if (p == 6) return pow_6(c);
|
||||
else if (p == 7) return pow_7(c);
|
||||
else if (p == 8) return pow_8(c);
|
||||
else if (p == 9) return pow_9(c);
|
||||
else if (p == 10) return pow_10(c);
|
||||
return pow(c,vec3(p));
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out float mark_color_rotated;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
void main()
|
||||
{
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
if (is_rotated())
|
||||
mark_color_rotated = 1.0;
|
||||
else
|
||||
mark_color_rotated = 0.0;
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in float mark_color_rotated;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||
|
||||
|
||||
void main() {
|
||||
FragColor.r = mark_color_rotated;
|
||||
}
|
||||
|
||||
|
237
bezel/koko-aio/shaders/ntsc_pass.slang
Normal file
237
bezel/koko-aio/shaders/ntsc_pass.slang
Normal file
@ -0,0 +1,237 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#define NTSC_FILTER_WIDTH_MAX 25
|
||||
#define NTSC_FILTER_MIDDLE NTSC_FILTER_WIDTH/2
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 1) out vec3 vTemperature_rgb;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 2) out float vNTSC_FILTER_FC;
|
||||
layout(location = 3) out float vNTSC_FILTER_SCF;
|
||||
layout(location = 4) out float vNTSC_weights[NTSC_FILTER_WIDTH_MAX];
|
||||
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
|
||||
vec3 kelvin2rgb(float k) {
|
||||
//Convert kelvin temperature to rgb factors
|
||||
k = clamp(k,1000,40000);
|
||||
k=k/100.0;
|
||||
float tmpCalc;
|
||||
vec3 pixel_out;
|
||||
if (k<=66) {
|
||||
pixel_out.r = 255;
|
||||
pixel_out.g = 99.47080258612 * log(k) - 161.11956816610;
|
||||
} else {
|
||||
pixel_out.r = 329.6987274461 * pow(k - 60 ,-0.13320475922);
|
||||
pixel_out.g = 288.12216952833 * pow(k-60, -0.07551484921);
|
||||
}
|
||||
|
||||
if (k >= 66)
|
||||
pixel_out.b = 255;
|
||||
else if (k<=19)
|
||||
pixel_out.b = 0;
|
||||
else
|
||||
pixel_out.b = 138.51773122311 * log(k - 10) - 305.04479273072;
|
||||
|
||||
return pixel_out/255.0;
|
||||
}
|
||||
|
||||
/* hann() sinc() functions by xot:
|
||||
* copyright (c) 2017-2018, John Leffingwell
|
||||
* license CC BY-SA Attribution-ShareAlike
|
||||
* ntscdec() function, same license and attribution,
|
||||
* slightly modified by me.
|
||||
* https://www.shadertoy.com/view/Mdffz7
|
||||
*/
|
||||
|
||||
float hann(float n, float N) {
|
||||
return 0.5 * (1.0 - cos((TAU*n)/(N-1.0))) ;
|
||||
}
|
||||
|
||||
float sinc(float x) {
|
||||
//if (x == 0.0) return 1.0;
|
||||
x = x + eps;
|
||||
return sin(pi*x) / (pi*x);
|
||||
}
|
||||
|
||||
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord * 1.0001;
|
||||
|
||||
if (DO_NTSC_ARTIFACTS > 0.0) {
|
||||
vNTSC_FILTER_FC = NTSC_FILTER_FC * 0.1;
|
||||
vNTSC_FILTER_SCF = NTSC_FILTER_SCF * 0.1;
|
||||
float sum = 0.0;
|
||||
int N = int(NTSC_FILTER_WIDTH);
|
||||
// Compute sampling weights
|
||||
for (int n = 0; n < N; n++) {
|
||||
vNTSC_weights[n] = hann(float(n), float(N)) * sinc(vNTSC_FILTER_FC * float(n-NTSC_FILTER_MIDDLE));
|
||||
sum += vNTSC_weights[n];
|
||||
}
|
||||
// Normalize sampling weights
|
||||
for (int n = 0; n < N; n++) {
|
||||
vNTSC_weights[n] /= sum;
|
||||
}
|
||||
}
|
||||
if (TEMPERATURE != 6500)
|
||||
vTemperature_rgb = kelvin2rgb(TEMPERATURE);
|
||||
}
|
||||
|
||||
|
||||
#pragma stage fragment
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in vec3 vTemperature_rgb;
|
||||
layout(location = 2) in float vNTSC_FILTER_FC;
|
||||
layout(location = 3) in float vNTSC_FILTER_SCF;
|
||||
layout(location = 4) in float vNTSC_weights[NTSC_FILTER_WIDTH_MAX];
|
||||
|
||||
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||
|
||||
|
||||
// Colorspace conversion matrix for YIQ-to-RGB
|
||||
const mat3 YIQ2RGB = mat3(1.000, 1.000, 1.000,
|
||||
0.956,-0.272,-1.106,
|
||||
0.621,-0.647, 1.703);
|
||||
|
||||
const mat3 RGB2YIQ = mat3(
|
||||
0.2989, 0.5959, 0.2115,
|
||||
0.5870, -0.2744, -0.5229,
|
||||
0.1140, -0.3216, 0.3114);
|
||||
|
||||
|
||||
|
||||
#define eps10 1.0e-10
|
||||
vec3 rgb2hsv(vec3 c){
|
||||
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
|
||||
vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));
|
||||
vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));
|
||||
|
||||
float d = q.x - min(q.w, q.y);
|
||||
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + eps10)), d / (q.x + eps10), q.x);
|
||||
}
|
||||
|
||||
#define pi10 pi*10
|
||||
#define PHASE_SHIFT_FOR_BLUR_K pi/3
|
||||
vec4 ntscdec(vec2 uv) {
|
||||
vec2 size = params.SourceSize.xy;
|
||||
// Sample composite signal and decode to YIQ
|
||||
vec3 YIQ_processed = vec3(0.0);
|
||||
vec3 YIQ_processed_shifted = vec3(0.0);
|
||||
//by doing another ntsc filtering with this histed phase, we're able to better identify
|
||||
//artifacts that will drive the blur modulation.
|
||||
float phase_shift_for_blur;
|
||||
|
||||
int N = int(NTSC_FILTER_WIDTH);
|
||||
for (int n=0; n < N; n++) {
|
||||
vec2 pos = uv + vec2(float(n-NTSC_FILTER_MIDDLE) / size.x, 0.0);
|
||||
float phase = TAU * (vNTSC_FILTER_SCF * size.x * pos.x);
|
||||
float phase_shift_for_blur = phase + PHASE_SHIFT_FOR_BLUR_K;
|
||||
|
||||
phase += ( pos.y * -pi10 ) * (NTSC_PHASE_SHIFT);
|
||||
|
||||
//float phase = TAU * (vNTSC_FILTER_SCF * size.x * pos.x) + ( pos.y * -pi10 * NTSC_PHASE_SHIFT)
|
||||
// ( pos.y * - 31.4);
|
||||
//Just sample luminance via yiq:
|
||||
vec3 smp = vec3((texture(Source, pos).rgb * RGB2YIQ).x);
|
||||
YIQ_processed += vec3(1.0, cos(phase), sin(phase)) * smp * vNTSC_weights[n];
|
||||
YIQ_processed_shifted += vec3(1.0, cos(phase_shift_for_blur), sin(phase_shift_for_blur)) * smp * vNTSC_weights[n];
|
||||
}
|
||||
|
||||
vec3 RGB_ori = texture(Source, uv).rgb;
|
||||
vec3 YIQ_ori = RGB_ori * RGB2YIQ;
|
||||
|
||||
vec3 YIQ_result = vec3(YIQ_ori.x, YIQ_ori.yz + YIQ_processed.yz * NTSC_MIX);
|
||||
|
||||
float artifacts_mask = abs(YIQ_processed.y) + abs(YIQ_processed.z) +
|
||||
abs(YIQ_processed_shifted.y) + abs(YIQ_processed_shifted.z);
|
||||
|
||||
return vec4(YIQ_result * YIQ2RGB, artifacts_mask);
|
||||
}
|
||||
|
||||
#define W vec3(0.2125, 0.7154, 0.0721)
|
||||
|
||||
vec3 color_tools(vec3 pixel_out) {
|
||||
//Apply color corrections to input signal.
|
||||
|
||||
//Push luminance without clipping
|
||||
pixel_out = pixel_push_luminance(pixel_out,LUMINANCE);
|
||||
|
||||
//Modify saturation
|
||||
if (!(SATURATION == 1.0)) {
|
||||
vec3 intensity = vec3(dot(pixel_out.rgb, W));
|
||||
pixel_out.rgb = mix(intensity, pixel_out.rgb, SATURATION);
|
||||
}
|
||||
|
||||
//Modify contrast and brightness
|
||||
if (CONTRAST != 0.0 || BRIGHTNESS != 0.0)
|
||||
pixel_out.rgb = scale_to_range_vec3(pixel_out.rgb, -CONTRAST, 1+CONTRAST) + BRIGHTNESS;
|
||||
|
||||
//Modify color temperature
|
||||
if (TEMPERATURE != 6500.0) pixel_out.rgb = pixel_out.rgb * vTemperature_rgb;
|
||||
return pixel_out;
|
||||
}
|
||||
|
||||
|
||||
vec3 debug() {
|
||||
vec3 pixel_debug;
|
||||
float blink_time = 120;
|
||||
vec2 center = vTexCoord - vec2(0.5,0.5);
|
||||
float radius = 0.1;
|
||||
pixel_debug = vec3(1 - step(radius, length(center)));
|
||||
pixel_debug *= float((mod(params.FrameCount,blink_time*2) < blink_time));
|
||||
return pixel_debug;
|
||||
}
|
||||
|
||||
void main() {
|
||||
|
||||
//FragColor = vec4(debug(), 1.0); return;
|
||||
|
||||
|
||||
//This will go into alpha channel to make glow aware of it and blur more.
|
||||
//It could be configurable.
|
||||
float artifacts = 0.0;
|
||||
|
||||
vec3 pixel_out;
|
||||
if (DO_NTSC_ARTIFACTS > 0.5) {
|
||||
vec3 pixel_source = texture(Source, vTexCoord).rgb;
|
||||
vec4 pixel_out_vec4 = ntscdec(vTexCoord);
|
||||
pixel_out = pixel_out_vec4.rgb;
|
||||
|
||||
artifacts = pixel_out_vec4.a;
|
||||
|
||||
/*
|
||||
//artifacts = pow(artifacts, IN_GLOW_NTSC_ARTF_TRSH * 8.0);
|
||||
artifacts = artifacts * IN_GLOW_NTSC_ARTF_MULT;
|
||||
artifacts = smoothstep(IN_GLOW_NTSC_ARTF_TRSH, 1.0, artifacts);
|
||||
//artifacts = min(artifacts, 1.0); //<- useless since clamp happens if not uising float framebuffer.
|
||||
*/
|
||||
|
||||
} else {
|
||||
pixel_out = texture(Source, vTexCoord).rgb;
|
||||
}
|
||||
|
||||
if (DO_CCORRECTION == 1.0)
|
||||
pixel_out = color_tools(pixel_out);
|
||||
|
||||
FragColor = vec4(pixel_out, artifacts);
|
||||
|
||||
|
||||
|
||||
// FragColor = vec4(artifacts);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -1,138 +0,0 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
#define eps 1e-8
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out vec2 vTexCoord_zoom;
|
||||
|
||||
#include "functions.include.slang"
|
||||
void main()
|
||||
{
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
vTexCoord_zoom = TexCoord;
|
||||
if (DO_BEZEL==1.0 && BEZEL_INNER_ZOOM !=0.0) vTexCoord_zoom = zoomout_coords(TexCoord, -BEZEL_INNER_ZOOM , 1.0);
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in vec2 vTexCoord_zoom;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D Original;
|
||||
layout(set = 0, binding = 3) uniform sampler2D main_pass;
|
||||
layout(set = 0, binding = 4) uniform sampler2D isrotated_pass;
|
||||
|
||||
|
||||
|
||||
bool border_updown(){
|
||||
//Return if black bars are up and down or left and right.
|
||||
//Why this one work?
|
||||
return ((params.OriginalSize.x > params.OriginalSize.y) && (global.main_passSize.x < global.main_passSize.y )) ||
|
||||
(params.OriginalSize.x < params.OriginalSize.y) && (global.main_passSize.x > global.main_passSize.y ) ;
|
||||
}
|
||||
|
||||
vec3 main_wrap(){
|
||||
|
||||
float myborder = 0.025; //20% border to be displaced
|
||||
vec2 newcoords = vTexCoord_zoom;
|
||||
vec3 pixel_out;
|
||||
float mydiv;
|
||||
float myoffset;
|
||||
|
||||
if (!border_updown()) {
|
||||
mydiv = vTexCoord.x / myborder;
|
||||
myoffset = (1.0-myborder) * floor(mydiv);
|
||||
|
||||
if (vTexCoord.x < 0.5)
|
||||
newcoords.x = newcoords.x - ( myborder * floor(mydiv) ) ;
|
||||
else
|
||||
newcoords.x = (1 - myborder) + ( newcoords.x - (myborder*floor(mydiv)) ) ;
|
||||
|
||||
return texture(Original, newcoords).rgb;
|
||||
}
|
||||
|
||||
//Is rotated
|
||||
mydiv = vTexCoord.y / myborder;
|
||||
myoffset = (1.0-myborder) * floor(mydiv);
|
||||
|
||||
if (vTexCoord.y < 0.5)
|
||||
newcoords.y = newcoords.y - ( myborder * floor(mydiv) ) ;
|
||||
else
|
||||
newcoords.y = (1 - myborder) + ( newcoords.y - (myborder*floor(mydiv)) ) ;
|
||||
return texture(Original, newcoords).rgb;
|
||||
|
||||
|
||||
}
|
||||
#include "functions.include.slang"
|
||||
float mborder(vec2 coord,float aspect,float corner_size, float corner_smooth) {
|
||||
coord = (coord - vec2(0.5)) + vec2(0.5, 0.5);
|
||||
coord = min(coord, vec2(1.0) - coord) * aspect;
|
||||
vec2 cdist = vec2(corner_size);
|
||||
coord = (cdist - min(coord, cdist));
|
||||
float dist = sqrt(dot(coord, coord));
|
||||
return clamp((cdist.x - dist)*corner_smooth, 0.0, 1.0);
|
||||
}
|
||||
|
||||
|
||||
vec2 bget_scaled_coords(vec2 pTexCoord, vec4 destsize){
|
||||
if (!border_needed()) return pTexCoord;
|
||||
//else
|
||||
float scale_x = 1.0;
|
||||
float scale_y = 1.0;
|
||||
float offset_x = 0.0 ;
|
||||
float offset_y = 0.0 ;
|
||||
float in_aspect = get_in_aspect();
|
||||
if (is_rotated()) {
|
||||
//scale_y = params.OutputSize.y/(params.OutputSize.x / in_aspect );
|
||||
//scale_y = global.FinalViewportSize.y/(global.FinalViewportSize.x / in_aspect );
|
||||
scale_y = destsize.y/(destsize.x / in_aspect );
|
||||
offset_y = (0.5 * scale_y ) - 0.5 ;
|
||||
} else {
|
||||
//scale_x = params.OutputSize.x/(params.OutputSize.y * in_aspect);
|
||||
//scale_x = global.FinalViewportSize.x/(global.FinalViewportSize.y * in_aspect);
|
||||
scale_x = destsize.x/(destsize.y * in_aspect);
|
||||
offset_x = (0.5 * scale_x ) - 0.5 ;
|
||||
}
|
||||
|
||||
vec2 scale_coord=vec2(pTexCoord.x*scale_x - offset_x , pTexCoord.y*scale_y - offset_y);
|
||||
return scale_coord;
|
||||
}
|
||||
|
||||
|
||||
void main() {
|
||||
if (DO_AMBILIGHT != 1.0) return;
|
||||
//bool is_rotated = texture(isrotated_pass,vec2(0.5,0.5)).r > 0.5;
|
||||
|
||||
|
||||
//Disegna un rettangolo sul gioco.
|
||||
//samplo main_pass per riferimento.
|
||||
vec4 pixel_Original = texture(Original,vTexCoord);
|
||||
|
||||
FragColor = pixel_Original;
|
||||
|
||||
/*
|
||||
float dist = 1-length(vTexCoord-0.5);
|
||||
|
||||
FragColor = vec4(main_wrap(),1.0);
|
||||
|
||||
float corner_size = 0.25;
|
||||
float corner_smooth = 4.0;
|
||||
float zoom = 0.4;
|
||||
vec2 co = get_scaled_coords(zoomout_coords(vTexCoord, -zoom , 1.0),global.FinalViewportSize);
|
||||
float ss=pow(mborder(co,1.0,corner_size, corner_smooth),2.0);
|
||||
|
||||
//ss = ss * smoothstep(shade_end,shade_start, vTexCoord.x);
|
||||
|
||||
FragColor = vec4(ss);
|
||||
|
||||
|
||||
vec2 ccords = get_scaled_coords(vTexCoord,global.FinalViewportSize);
|
||||
ccords = zoomout_coords(ccords,-BEZEL_INNER_ZOOM,1.0);
|
||||
//FragColor = texture(Original,ccords)*ss;
|
||||
*/
|
||||
}
|
||||
|
||||
|
@ -1,61 +0,0 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#define eps 1e-8
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out vec2 vOutputCoord;
|
||||
|
||||
#include "functions.include"
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = get_scaled_coords(TexCoord);
|
||||
vOutputCoord = TexCoord;
|
||||
}
|
||||
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in vec2 vOutputCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D final_pass;
|
||||
layout(set = 0, binding = 4) uniform sampler2D ambi_temporal_pass;
|
||||
|
||||
#include "functions.include"
|
||||
|
||||
vec4 pixel_border() {
|
||||
vec3 ambi = texture(ambi_temporal_pass, vOutputCoord).rgb;
|
||||
float l = length(ambi);
|
||||
float sat = 1.25;
|
||||
float bright = 1.25;
|
||||
ambi = normalize( pow(ambi.rgb + vec3(eps), vec3(sat)))*l * bright ;
|
||||
ambi*=bright;
|
||||
return vec4(ambi,0.0);
|
||||
}
|
||||
|
||||
vec3 ambi_noised() {
|
||||
return pixel_border().rgb + random();
|
||||
}
|
||||
|
||||
|
||||
void main() {
|
||||
vec4 psample = texture(final_pass, vOutputCoord);
|
||||
if (DO_AMBILIGHT == 1) {
|
||||
vec3 ambinoised = ambi_noised();
|
||||
if (is_outer_frame(psample)) {
|
||||
FragColor = mark_outer_frame(ambi_noised());
|
||||
} else {
|
||||
FragColor = vec4(mix(ambinoised.rgb,psample.rgb,min(psample.a*1.5,1.0)),psample.a);
|
||||
}
|
||||
} else {
|
||||
FragColor = psample ;
|
||||
}
|
||||
|
||||
|
||||
//FragColor = vec4(ambi_noised(), 1.0);
|
||||
|
||||
}
|
||||
|
@ -1,28 +0,0 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||
|
||||
|
||||
void main() {
|
||||
if (DO_AMBILIGHT == 1.0)
|
||||
FragColor = texture(Source, vTexCoord);
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1,36 +0,0 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D main_pass;
|
||||
|
||||
|
||||
void main() {
|
||||
vec2 coords = vTexCoord;
|
||||
if (DO_BLOOM == 1) {
|
||||
if (DO_CURVATURE == 1.0) {
|
||||
if ((GEOM_WARP_X > 0.0) || (GEOM_WARP_Y > 0.0))
|
||||
coords = Warp(vTexCoord,GEOM_WARP_X,GEOM_WARP_Y);
|
||||
}
|
||||
FragColor = texture(main_pass,coords);
|
||||
return;
|
||||
} else {
|
||||
//No bloom requested
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
vec4 blur9(sampler2D image, vec2 uv, vec2 resolution, vec2 direction, float lod) {
|
||||
vec4 color = vec4(0.0);
|
||||
vec2 off1 = vec2(1.3846153846) * direction;
|
||||
vec2 off2 = vec2(3.2307692308) * direction;
|
||||
color += textureLod(image, uv, lod) * 0.2270270270;
|
||||
color += textureLod(image, uv + (off1 / resolution), lod) * 0.3162162162;
|
||||
color += textureLod(image, uv - (off1 / resolution), lod) * 0.3162162162;
|
||||
color += textureLod(image, uv + (off2 / resolution), lod) * 0.0702702703;
|
||||
color += textureLod(image, uv - (off2 / resolution), lod) * 0.0702702703;
|
||||
return color;
|
||||
}
|
||||
|
@ -1,226 +0,0 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
|
||||
/*
|
||||
CRT Shader by EasyMode
|
||||
License: GPL
|
||||
|
||||
Modified by kokoko3k, stripped to keep just curvature related code.
|
||||
*/
|
||||
|
||||
#define FIX(c) max(abs(c), 1e-5)
|
||||
#define PI 3.141592653589
|
||||
#define TEX2D(c) texture(tex, c)
|
||||
#define in_texture final_pass
|
||||
#define in_textureSize final_passSize
|
||||
//#define in_textureSize SourceSize
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out vec2 vOutputCoord;
|
||||
|
||||
#include "functions.include"
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = get_scaled_coords(TexCoord);
|
||||
vOutputCoord = TexCoord;
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in vec2 vOutputCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D in_texture;
|
||||
|
||||
float curve_distance(float x, float sharp)
|
||||
{
|
||||
float x_step = step(0.5, x);
|
||||
float curve = 0.5 - sqrt(0.25 - (x - x_step) * (x - x_step)) * sign(0.5 - x);
|
||||
|
||||
return mix(x, curve, sharp);
|
||||
}
|
||||
|
||||
mat4x4 get_color_matrix(sampler2D tex, vec2 co, vec2 dx)
|
||||
{
|
||||
return mat4x4(TEX2D(co - dx), TEX2D(co), TEX2D(co + dx), TEX2D(co + 2.0 * dx));
|
||||
}
|
||||
|
||||
vec4 filter_lanczos(vec4 coeffs, mat4x4 color_matrix)
|
||||
{
|
||||
vec4 col = color_matrix * coeffs;
|
||||
vec4 sample_min = min(color_matrix[1], color_matrix[2]);
|
||||
vec4 sample_max = max(color_matrix[1], color_matrix[2]);
|
||||
|
||||
col = clamp(col, sample_min, sample_max);
|
||||
|
||||
return col;
|
||||
}
|
||||
|
||||
vec2 curve_coordinate(vec2 co, float curvature_x, float curvature_y)
|
||||
{
|
||||
vec2 curve = vec2(curvature_x, curvature_y);
|
||||
vec2 co2 = co + co * curve - curve / 2.0;
|
||||
vec2 co_weight = vec2(co.y, co.x) * 2.0 - 1.0;
|
||||
|
||||
co = mix(co, co2, co_weight * co_weight);
|
||||
|
||||
return co;
|
||||
}
|
||||
|
||||
float get_corner_weight(vec2 co, vec2 corner, float smoothfunc)
|
||||
{
|
||||
float corner_weight;
|
||||
|
||||
co = min(co, vec2(1.0) - co) * vec2(1.0, 0.75);
|
||||
co = (corner - min(co, corner));
|
||||
corner_weight = clamp((corner.x - sqrt(dot(co, co))) * smoothfunc, 0.0, 1.0);
|
||||
corner_weight = mix(1.0, corner_weight, ceil(corner.x));
|
||||
|
||||
return corner_weight;
|
||||
}
|
||||
|
||||
#define GEOM_ANTIALIAS 1.0
|
||||
|
||||
vec3 curve_antialias(vec2 xy,vec2 tex_size){
|
||||
vec2 midpoint = vec2(0.5, 0.5);
|
||||
|
||||
vec2 co = vOutputCoord * tex_size * params.in_textureSize.zw;
|
||||
vec2 co2 = vTexCoord * tex_size * params.in_textureSize.zw;
|
||||
|
||||
vec3 col;
|
||||
float corner_weight = get_corner_weight(curve_coordinate(co2, GEOM_BORDER_WX, GEOM_BORDER_WY ), vec2(GEOM_CORNER_SIZE), GEOM_CORNER_SMOOTH);
|
||||
|
||||
if ( (GEOM_WARP_X > 0) || (GEOM_WARP_Y > 0) ) {
|
||||
xy *= params.in_textureSize.xy / tex_size;
|
||||
|
||||
vec2 dx = vec2(1.0 / tex_size.x, 0.0);
|
||||
vec2 dy = vec2(0.0, 1.0 / tex_size.y);
|
||||
vec2 pix_co = xy * tex_size - midpoint;
|
||||
vec2 tex_co = (floor(pix_co) + midpoint) / tex_size;
|
||||
vec2 dist = fract(pix_co);
|
||||
float curve_x, curve_y;
|
||||
vec3 col2, diff;
|
||||
|
||||
curve_x = curve_distance(dist.x, SHARPNESS_H * SHARPNESS_H);
|
||||
curve_y = curve_distance(dist.y, SHARPNESS_V * SHARPNESS_V);
|
||||
|
||||
vec4 coeffs_x = PI * vec4(1.0 + curve_x, curve_x, 1.0 - curve_x, 2.0 - curve_x);
|
||||
vec4 coeffs_y = PI * vec4(1.0 + curve_y, curve_y, 1.0 - curve_y, 2.0 - curve_y);
|
||||
|
||||
coeffs_x = FIX(coeffs_x);
|
||||
coeffs_x = 2.0 * sin(coeffs_x) * sin(coeffs_x / 2.0) / (coeffs_x * coeffs_x);
|
||||
coeffs_x /= dot(coeffs_x, vec4(1.0));
|
||||
|
||||
coeffs_y = FIX(coeffs_y);
|
||||
coeffs_y = 2.0 * sin(coeffs_y) * sin(coeffs_y / 2.0) / (coeffs_y * coeffs_y);
|
||||
coeffs_y /= dot(coeffs_y, vec4(1.0));
|
||||
|
||||
mat4x4 color_matrix;
|
||||
|
||||
|
||||
color_matrix[0] = filter_lanczos(coeffs_x, get_color_matrix(in_texture, tex_co - dy, dx));
|
||||
color_matrix[1] = filter_lanczos(coeffs_x, get_color_matrix(in_texture, tex_co, dx));
|
||||
color_matrix[2] = filter_lanczos(coeffs_x, get_color_matrix(in_texture, tex_co + dy, dx));
|
||||
color_matrix[3] = filter_lanczos(coeffs_x, get_color_matrix(in_texture, tex_co + 2.0 * dy, dx));
|
||||
|
||||
col = filter_lanczos(coeffs_y, color_matrix).rgb;
|
||||
} else {
|
||||
col = texture(in_texture, vOutputCoord).rgb;
|
||||
}
|
||||
|
||||
col *= vec3(corner_weight);
|
||||
return col;
|
||||
}
|
||||
|
||||
vec2 Warp2(vec2 texCoord){
|
||||
|
||||
vec2 curvedCoords = texCoord * 2.0 - 1.0;
|
||||
vec2 CRT_Distortion = vec2(GEOM_WARP_X, GEOM_WARP_Y) * 15.;
|
||||
float curvedCoordsDistance = sqrt(curvedCoords.x*curvedCoords.x+curvedCoords.y*curvedCoords.y);
|
||||
|
||||
curvedCoords = curvedCoords / curvedCoordsDistance;
|
||||
|
||||
curvedCoords = curvedCoords * (1.0-pow(vec2(1.0-(curvedCoordsDistance/1.4142135623730950488016887242097)),(1.0/(1.0+CRT_Distortion*0.2))));
|
||||
|
||||
curvedCoords = curvedCoords / (1.0-pow(vec2(0.29289321881345247559915563789515),(1.0/(vec2(1.0)+CRT_Distortion*0.2))));
|
||||
|
||||
curvedCoords = curvedCoords * 0.5 + 0.5;
|
||||
return curvedCoords;
|
||||
}
|
||||
|
||||
vec3 do_curvature_antialias(){
|
||||
vec2 tex_size = params.in_textureSize.xy ;
|
||||
|
||||
vec2 co = vOutputCoord * tex_size * params.in_textureSize.zw;
|
||||
vec2 co2 = vTexCoord * tex_size * params.in_textureSize.zw;
|
||||
vec2 curved_xy = curve_coordinate(co, GEOM_WARP_X,GEOM_WARP_Y );
|
||||
|
||||
vec3 col;
|
||||
//float corner_weight = get_corner_weight(curve_coordinate(co2, GEOM_BORDER_WX, GEOM_BORDER_WY ), vec2(GEOM_CORNER_SIZE), GEOM_CORNER_SMOOTH);
|
||||
float corner_weight = get_corner_weight(Warp2(co), vec2(GEOM_CORNER_SIZE), GEOM_CORNER_SMOOTH);
|
||||
|
||||
|
||||
if ( (GEOM_WARP_X > 0) || (GEOM_WARP_Y > 0) ) {
|
||||
if (GEOM_ANTIALIAS == 1.0)
|
||||
col = curve_antialias(curved_xy,tex_size);
|
||||
else
|
||||
col = texture(in_texture,curved_xy).rgb;
|
||||
} else {
|
||||
col = texture(in_texture, vOutputCoord).rgb;
|
||||
}
|
||||
|
||||
col *= vec3(corner_weight) ;
|
||||
|
||||
|
||||
|
||||
return col;
|
||||
}
|
||||
|
||||
const vec2 corner_aspect = vec2(1.0, 0.75);
|
||||
|
||||
float corner2(vec2 coord)
|
||||
{
|
||||
coord = (coord - vec2(0.5)) + vec2(0.5, 0.5);
|
||||
coord = min(coord, vec2(1.0) - coord) * corner_aspect;
|
||||
vec2 cdist = vec2(GEOM_CORNER_SIZE);
|
||||
coord = (cdist - min(coord, cdist));
|
||||
float dist = sqrt(dot(coord, coord));
|
||||
|
||||
return clamp((cdist.x - dist)*GEOM_CORNER_SMOOTH, 0.0, 1.0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
vec3 do_curvature_alias(){
|
||||
vec2 curved_xy = Warp2(vOutputCoord);
|
||||
return texture(in_texture,curved_xy ).rgb * corner2(curved_xy);
|
||||
}
|
||||
|
||||
vec4 main_wrap()
|
||||
{
|
||||
if (DO_CURVATURE == 1.0) {
|
||||
return vec4(do_curvature_antialias(), 1.0);
|
||||
} else {
|
||||
return texture(in_texture, vOutputCoord);
|
||||
}
|
||||
}
|
||||
|
||||
#include "functions.include"
|
||||
void main() {
|
||||
vec4 psample = texture(in_texture, vOutputCoord);
|
||||
if ( border_needed() ) {
|
||||
if (is_outer_frame(psample))
|
||||
FragColor = mark_outer_frame(vec3(0.0));
|
||||
else
|
||||
FragColor = main_wrap();
|
||||
} else {
|
||||
FragColor = main_wrap();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,68 +0,0 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
|
||||
#define eps 1e-8
|
||||
#define pi 3.141592654
|
||||
|
||||
|
||||
// Blur sizes must not depend on input resolution
|
||||
#define scalemod_x (params.SourceSize.x/360.0)
|
||||
#define scalemod_y (params.SourceSize.y/270.0)
|
||||
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out vec2 vOutputCoord;
|
||||
|
||||
|
||||
#include "functions.include"
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord ; //get_scaled_coords(TexCoord);
|
||||
vOutputCoord = TexCoord;
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in vec2 vOutputCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D FXAA_pass;
|
||||
layout(set = 0, binding = 3) uniform sampler2D doublesize_pass;
|
||||
|
||||
// What follows is an ugly optimization with a lot of code copied and pasted repeated multiple times,
|
||||
// shamlessly hidden into an include:
|
||||
#include "pixel_glows.slang"
|
||||
|
||||
|
||||
#include "functions.include"
|
||||
|
||||
vec4 main_wrap(void) {
|
||||
//Halo
|
||||
vec2 in_glow_coords = vTexCoord;
|
||||
if (DO_CURVATURE == 1.0) {
|
||||
if ((GEOM_WARP_X > 0.0) || (GEOM_WARP_Y > 0.0))
|
||||
in_glow_coords = Warp(vTexCoord,GEOM_WARP_X,GEOM_WARP_Y);
|
||||
}
|
||||
vec3 pixel_glowed;
|
||||
if (DO_FXAA == 1.0)
|
||||
pixel_glowed = pixel_glow(FXAA_pass, in_glow_wh,in_glow_wh,in_glow_power,in_glow_gamma,in_glow_coords, global.FXAA_passSize, global.FXAA_passSize).rgb;
|
||||
else
|
||||
pixel_glowed = pixel_glow(doublesize_pass, in_glow_wh,in_glow_wh,in_glow_power,in_glow_gamma,in_glow_coords, global.FXAA_passSize, global.FXAA_passSize).rgb;
|
||||
|
||||
return vec4(pixel_glowed.rgb,1.0);
|
||||
//Out
|
||||
return vec4(vec3(0.0),1.0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void main() {
|
||||
if (DO_IN_GLOW == 1.0 ) {
|
||||
FragColor = main_wrap();
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
@ -1,323 +0,0 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
#define half_pi 1.5707963267949
|
||||
|
||||
// RGB mask: R G B
|
||||
#define m1 vec3 ( 1.0 , 0.0 , 0.0 ) //col 1
|
||||
#define m2 vec3 ( 0.0 , 1.0 , 0.0 ) //col 2
|
||||
#define m3 vec3 ( 0.0 , 0.0 , 1.0 ) //col 3
|
||||
|
||||
// RGB mask low dpi (green-magenta, exploiting native rgb subpixels)
|
||||
#define m1gm vec3 ( 0.0 , 1.0 , 0.0 ) //col 1
|
||||
#define m2gm vec3 ( 1.0 , 0.0 , 1.0 ) //col 2
|
||||
|
||||
// Blur sizes must not depend on input resolution
|
||||
#define scalemod_x (global.in_glow_passSize.x/360.0)
|
||||
#define scalemod_y (global.in_glow_passSize.y/270.0)
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out vec2 vOutputCoord;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = get_scaled_coords(TexCoord,global.FinalViewportSize, is_rotated());
|
||||
vOutputCoord = TexCoord;
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in vec2 vOutputCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 3) uniform sampler2D FXAA_pass;
|
||||
layout(set = 0, binding = 4) uniform sampler2D in_glow_pass;
|
||||
layout(set = 0, binding = 5) uniform sampler2D halo_pass;
|
||||
layout(set = 0, binding = 6) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 7) uniform sampler2D avglum_passFeedback;
|
||||
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
vec3 pixel_vmask(vec3 source, vec3 white_reference, float over_white) {
|
||||
int col = int( vOutputCoord.x * params.OutputSize.x );
|
||||
vec3 pixel_out;
|
||||
vec3 vmasked;
|
||||
vec4 vec_mod=(vec4(3,1,2,3) + vec4(VMASK_GAP,0.0,0.0,0.0))* VMASK_DARKLINE_SCALE ;
|
||||
float mask_lightness = 1.0 - RGB_MASK_STRENGTH;
|
||||
if ( mod(col, vec_mod.x) < vec_mod.y) vmasked = min(m1 + mask_lightness,vec3(1.0)) * source;
|
||||
else if (mod(col, vec_mod.x) < vec_mod.z) vmasked = min(m2 + mask_lightness,vec3(1.0)) * source;
|
||||
else if (mod(col, vec_mod.x) < vec_mod.w) vmasked = min(m3 + mask_lightness,vec3(1.0)) * source;
|
||||
else vmasked = min(vec3(0.0) + mask_lightness,vec3(1.0)) * source;
|
||||
|
||||
if (over_white == 1.0) pixel_out = vmasked;
|
||||
else {
|
||||
float whiteness=(white_reference.r+white_reference.g+white_reference.b)/3.0;
|
||||
whiteness-= over_white;
|
||||
whiteness= clamp(whiteness,0.0,1.0);
|
||||
pixel_out= mix(vmasked,source,whiteness);
|
||||
}
|
||||
return pixel_out;
|
||||
}
|
||||
|
||||
vec3 pixel_vmask_gm(vec3 source, vec3 white_reference, float over_white) {
|
||||
int col = int( vOutputCoord.x * params.OutputSize.x );
|
||||
vec3 pixel_out;
|
||||
vec3 vmasked;
|
||||
vec3 vec_mod=(vec3(2,1,2) + vec3(VMASK_GAP,0.0,0.0))* VMASK_DARKLINE_SCALE ;
|
||||
|
||||
float mask_lightness = 1.0 - RGB_MASK_STRENGTH;
|
||||
if (mod(col, vec_mod.x) < vec_mod.y) vmasked = min(m1gm + mask_lightness,vec3(1.0)) * source;
|
||||
else if (mod(col, vec_mod.x) < vec_mod.z) vmasked = min(m2gm + mask_lightness,vec3(1.0)) * source;
|
||||
else vmasked = min(vec3(0.0) + mask_lightness,vec3(1.0)) * source;
|
||||
|
||||
if (over_white == 1.0) pixel_out = vmasked;
|
||||
else {
|
||||
float whiteness=(white_reference.r+white_reference.g+white_reference.b)/3.0;
|
||||
whiteness-= over_white;
|
||||
whiteness= clamp(whiteness,0.0,1.0);
|
||||
pixel_out= mix(vmasked,source,whiteness);
|
||||
}
|
||||
|
||||
return pixel_out;
|
||||
}
|
||||
|
||||
vec3 pixel_darklines(vec3 source,float darkline_every, float darkline_trans,
|
||||
float do_offset, vec3 white_reference,float over_white) {
|
||||
|
||||
float Darkline_part_w = (3.0 - VMASK_USE_GM + VMASK_GAP) * VMASK_DARKLINE_SCALE;
|
||||
float Darkline_part_w_x2 = Darkline_part_w*2;
|
||||
//vec3 pixel_out=source;
|
||||
float col_2 = vOutputCoord.x * params.OutputSize.x;
|
||||
float line_2 = vOutputCoord.y * params.OutputSize.y;
|
||||
|
||||
darkline_every *= VMASK_DARKLINE_SCALE;
|
||||
|
||||
if (over_white != 1.0) {
|
||||
//less effect on bright colors.
|
||||
float whiteness=(white_reference.r+white_reference.g+white_reference.b)/3.0;
|
||||
darkline_trans+=(whiteness-over_white);
|
||||
darkline_trans=clamp(darkline_trans,0.0,1.0);
|
||||
}
|
||||
|
||||
if (do_offset == 1.0) {
|
||||
if (int(mod(line_2, darkline_every)) < VMASK_DARKLINE_SCALE) {
|
||||
if (int(mod(col_2, Darkline_part_w_x2)) < Darkline_part_w) return source * darkline_trans;
|
||||
} else if (int(mod(line_2+(darkline_every/2), darkline_every)) < VMASK_DARKLINE_SCALE ) {
|
||||
// DRAW WITH OFFSET:
|
||||
col_2+=Darkline_part_w;
|
||||
if ((int(mod(col_2, Darkline_part_w_x2))) < Darkline_part_w)
|
||||
return source * darkline_trans;
|
||||
}
|
||||
} else {
|
||||
|
||||
if ( darkline_every >= 0.0)
|
||||
if (int(mod(line_2, darkline_every)) < VMASK_DARKLINE_SCALE) return source * darkline_trans;
|
||||
}
|
||||
return source;
|
||||
}
|
||||
|
||||
/*
|
||||
float scanline_shape_static_in_lum(vec2 coords, float in_luminance) {
|
||||
// Modulate scanline weight via in_luminance
|
||||
float period = (params.OriginalSize.y > MIN_LINES_INTERLACED ) ? 2 : 1 ;
|
||||
float angle = coords.y * pi * period * params.OriginalSize.y ;
|
||||
float lines = abs(sin(angle));
|
||||
lines=clamp(lines, SCANLINE_DARK,1.0);
|
||||
lines = (lines*lines);
|
||||
float w = (SCANLINES_BLEEDING * 9.0 * in_luminance +1 ); // + SCANLINES_BLEEDING;
|
||||
lines = pow(lines,1.0/ w );
|
||||
return lines;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
float scanline_shape_dumb(vec2 coords, bool do_flicker) {
|
||||
float source_dy = global.first_passSize.w ;
|
||||
if ( mod(coords.y, source_dy*2) < source_dy ) {
|
||||
return 1.0;
|
||||
}
|
||||
return 0.0;
|
||||
}
|
||||
*/
|
||||
|
||||
float scanline_shape(vec2 coords, bool do_flicker) {
|
||||
bool alternate = false;
|
||||
float period = 1.0;
|
||||
|
||||
int slow = 1;
|
||||
|
||||
if (do_flicker) {
|
||||
if (params.FrameCount/slow % 2 == 0.0) alternate = true;
|
||||
if (params.OriginalSize.y > MIN_LINES_INTERLACED ) period = 0.5;
|
||||
}
|
||||
|
||||
float angle = coords.y * pi * params.OriginalSize.y * period;
|
||||
|
||||
float lines;
|
||||
if (alternate)
|
||||
lines = -sin(angle+half_pi); //lines = abs(cos(angle));
|
||||
else
|
||||
lines = sin(angle);
|
||||
lines = (lines*lines);
|
||||
|
||||
if (SCANLINE_DARK >= 0.0) {
|
||||
lines = lines * (1.0 - SCANLINE_DARK) + SCANLINE_DARK;
|
||||
} else {
|
||||
float deepness = -SCANLINE_DARK;
|
||||
lines = lines * ((1-SCANLINE_DARK) ) + SCANLINE_DARK ;
|
||||
}
|
||||
|
||||
return lines;
|
||||
}
|
||||
|
||||
vec4 main_wrap(vec2 co) {
|
||||
bool isinterlaced = is_interlaced();
|
||||
bool flickering_scanlines = (DO_SCANLINES == 1.0) && scanline_have_to_flicker(isinterlaced) ;
|
||||
|
||||
|
||||
vec3 pixel_in;
|
||||
vec3 pixel_glowed;
|
||||
|
||||
//Get the first available pixel_in:
|
||||
if (DO_IN_GLOW == 1.0) {
|
||||
pixel_glowed = texture(in_glow_pass,co).rgb;
|
||||
pixel_in = pixel_glowed;
|
||||
}
|
||||
else if (DO_FXAA == 1.0)
|
||||
pixel_in = texture(FXAA_pass,co).rgb ;
|
||||
else
|
||||
pixel_in = texture(first_pass,co).rgb ;
|
||||
|
||||
vec3 pixel_out = pixel_in;
|
||||
vec3 pixel_in_clamped = min(pixel_in,vec3(1.0)); //Clamp here for moth vmask and darklines.
|
||||
|
||||
//Mask and darklines:
|
||||
if (DO_VMASK_AND_DARKLINES == 1.0 ) {
|
||||
if (RGB_MASK_STRENGTH > 0.0) {
|
||||
//Use RGB pattern or exploit RGB layout with green and magenta?
|
||||
if (VMASK_USE_GM < 1.0) {
|
||||
pixel_out = pixel_vmask(pixel_in, pixel_in_clamped, VMASK_OVERWHITE);
|
||||
} else {
|
||||
pixel_out = pixel_vmask_gm(pixel_in, pixel_in_clamped, VMASK_OVERWHITE);
|
||||
}
|
||||
}
|
||||
//Screen lines
|
||||
if (DARKLINES_STRENGTH > 0.0 ) {
|
||||
float MYDARKLINES_TRANSPARENCY = 1.0 - DARKLINES_STRENGTH;
|
||||
pixel_out = pixel_darklines(pixel_out,DARKLINES_PERIOD,MYDARKLINES_TRANSPARENCY,DO_DARKLINES_VOFFSET,pixel_in_clamped,DRKLN_OVERWHITE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Halo
|
||||
vec3 pixel_haloed;
|
||||
if (DO_HALO == 1.0 ) {
|
||||
pixel_haloed = texture(halo_pass,co).rgb;
|
||||
pixel_out += pixel_haloed;
|
||||
pixel_out = clamp(pixel_out,0.0,HALO_CLAMP);
|
||||
}
|
||||
|
||||
// Non flickering scanlines
|
||||
if ( DO_SCANLINES == 1.0 ) {
|
||||
vec3 pixel_bleed ;
|
||||
if (! ( isinterlaced && (SCANLINE_DISABLE_ON_INTERLACE == 1.0)) ) {
|
||||
if (DO_IN_GLOW + DO_HALO > 0.0) {
|
||||
if (DO_HALO == 1.0) pixel_bleed = pixel_haloed;
|
||||
else if (DO_IN_GLOW == 1.0) pixel_bleed = pixel_glowed;
|
||||
else pixel_bleed = pixel_in;
|
||||
}
|
||||
|
||||
float scanline_shape = scanline_shape(co, flickering_scanlines ) ;
|
||||
vec3 pixel_scanlined = scanline_shape * pixel_out;
|
||||
|
||||
pixel_out = pixel_scanlined + (pixel_out * pixel_bleed * SCANLINES_BLEEDING * (1-scanline_shape));
|
||||
}
|
||||
}
|
||||
|
||||
if (DO_CCORRECTION == 1.0) pixel_out = pow(pixel_out,vec3(GAMMA_OUT));
|
||||
|
||||
//Out
|
||||
return vec4(pixel_out,1.0) ; //* border(border_coords);
|
||||
}
|
||||
|
||||
/*
|
||||
//Test masks to be used with pixel_vmask_test()
|
||||
// Actually slower than pixel_vmask(), but handy for quick test
|
||||
//first element of the array is the useful size.
|
||||
const vec3 oo = vec3(0); //padding
|
||||
const vec3 mask_RGB[10] = vec3[]( vec3(3), vec3(1,0,0), vec3(0,1,0), vec3(0,0,1), oo, oo, oo, oo, oo, oo);
|
||||
const vec3 mask_GM[10] = vec3[]( vec3(2), vec3(0,1,0), vec3(1,0,1), oo, oo, oo, oo, oo, oo, oo);
|
||||
|
||||
|
||||
vec3 pixel_vmask_test(vec3 color_in, vec3[10] vmask, int multiplier, float gap, vec3 white_reference, float over_white) {
|
||||
int col = int( vOutputCoord.x * params.OutputSize.x );
|
||||
vec3 vmasked;
|
||||
|
||||
float size = (vmask[0].x + gap) * multiplier;
|
||||
|
||||
for (int i = multiplier ; i <= size * multiplier ; i+=multiplier) {
|
||||
if (mod(col, size) < i) {
|
||||
vmasked = min (vmask[i/multiplier] + 1.0 - RGB_MASK_STRENGTH, vec3(1.0)) * color_in;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (over_white == 1.0) return vmasked;
|
||||
else {
|
||||
float whiteness=(white_reference.r+white_reference.g+white_reference.b)/3.0;
|
||||
whiteness-= over_white;
|
||||
whiteness= clamp(whiteness,0.0,1.0);
|
||||
return mix(vmasked, color_in, whiteness);
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
void main() {
|
||||
vec2 coords = vTexCoord;
|
||||
|
||||
if (DO_DYNZOOM == 1.0) {
|
||||
float zoomin = 1.0 + (texture(avglum_passFeedback, vec2(0.25,0.25) ).a/ DYNZOOM_FACTOR);
|
||||
coords = zoom(vTexCoord, zoomin);
|
||||
}
|
||||
|
||||
vec2 coords_curved = coords;
|
||||
|
||||
//Curvature: set coords_curved coordinate: (global var)
|
||||
if (DO_CURVATURE == 1.0) {
|
||||
if ((GEOM_WARP_X > 0.0) || (GEOM_WARP_Y > 0.0))
|
||||
coords_curved = Warp(coords_curved,GEOM_WARP_X,GEOM_WARP_Y);
|
||||
}
|
||||
|
||||
if (DO_BEZEL == 1.0) {
|
||||
coords_curved = zoomout_coords(coords_curved, -BEZEL_INNER_ZOOM , 1.0);
|
||||
coords = zoomout_coords(coords, -BEZEL_INNER_ZOOM , 1.0);
|
||||
}
|
||||
|
||||
//FIXME: bezel may need a wider border when zoomed in.
|
||||
//But for performance reasons we can wide the border in relation to the desidered reflection area.
|
||||
//by now, just wide by BEZEL_REFLECTION_AREA_SIZE defined in config.inc
|
||||
|
||||
bool is_border = false;
|
||||
|
||||
if (border_needed()) {
|
||||
|
||||
float WIDEN = DO_BEZEL * BEZEL_REFLECTION_AREA_SIZE;
|
||||
bool b_is_rotated = is_rotated();
|
||||
bool is_outside_x = ((coords.x > 1.0+WIDEN ) || (coords.x < 0.0 - WIDEN) );
|
||||
bool is_outside_y = ((coords.y > 1.0+WIDEN ) || (coords.y < 0.0 - WIDEN) );
|
||||
is_border = (b_is_rotated && is_outside_y) || (!b_is_rotated && is_outside_x);
|
||||
}
|
||||
|
||||
if (is_border)
|
||||
FragColor = mark_outer_frame(vec3(0.0));
|
||||
else
|
||||
FragColor = main_wrap(coords_curved);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -1,25 +0,0 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||
|
||||
|
||||
void main() {
|
||||
FragColor = texture(Source, vTexCoord);
|
||||
}
|
||||
|
||||
|
@ -1,36 +0,0 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D Original;
|
||||
|
||||
|
||||
void main() {
|
||||
FragColor = vec4(texture(Original, vTexCoord).xyz,1.0);
|
||||
|
||||
/* //Use to debug:
|
||||
vec4 pixel;
|
||||
//pixel=vec4(abs(sin(params.FrameCount/3.14/20))); //white fade
|
||||
//pixel=vec4(abs(sin(params.FrameCount/3.14/20)),0.0,0.0,0.0); //red fade
|
||||
//pixel=vec4(0.2);
|
||||
if (mod(params.FrameCount,100) == 0.0) {
|
||||
pixel = vec4(0.6);
|
||||
} else {
|
||||
pixel = vec4(0.0);
|
||||
}
|
||||
FragColor = pixel;
|
||||
*/
|
||||
}
|
@ -1,103 +0,0 @@
|
||||
#version 450
|
||||
|
||||
#include "config.inc"
|
||||
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
|
||||
}
|
||||
|
||||
|
||||
#pragma stage fragment
|
||||
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D in_glow_pass;
|
||||
layout(set = 0, binding = 3) uniform sampler2D FXAA_pass;
|
||||
layout(set = 0, binding = 4) uniform sampler2D doublesize_pass;
|
||||
|
||||
|
||||
bool scanline_have_to_flicker(bool is_interlaced) {
|
||||
return ((scanline_flickering == 1.0) || ((scanline_flickering==2.0) && is_interlaced ));
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
vec3 pixel_out = vec3(0.0);
|
||||
|
||||
//Use to debug:
|
||||
//pixel_out=vec4(abs(sin(params.FrameCount/3.14/20))); //white fade
|
||||
//pixel_out=vec4(abs(sin(params.FrameCount/3.14/20)),0.0,0.0,0.0); //red fade
|
||||
//pixel_out=vec4(0.2);
|
||||
|
||||
if (DO_SCANLINES == 1.0) {
|
||||
if (scanline_flickering != 0.0) {
|
||||
|
||||
bool is_interlaced = (params.OriginalSize.y > MIN_LINES_INTERLACED) ? true : false ;
|
||||
|
||||
if ( scanline_have_to_flicker(is_interlaced) ) {
|
||||
|
||||
//Choose the right source
|
||||
if (DO_IN_GLOW == 1.0) {
|
||||
pixel_out = texture(in_glow_pass, vTexCoord).rgb;
|
||||
} else if (DO_FXAA == 1.0) {
|
||||
pixel_out = texture(FXAA_pass, vTexCoord).rgb;
|
||||
} else {
|
||||
pixel_out = texture(doublesize_pass, vTexCoord).rgb;
|
||||
}
|
||||
|
||||
int scanline_period;
|
||||
int scanline_period_half;
|
||||
|
||||
/* Puae switches from lowres to sdres on interlaced screens
|
||||
since we blindly double the h-resolution, because we need
|
||||
to double y resolution on low resolution to simulate scanlines
|
||||
and providing sd-res to fxaa, we can check if a screen is
|
||||
interlaced by testing v-resolution of source image.
|
||||
which could be at least 200*2(puae)*2(ourselves)=800px.
|
||||
Rest assured that everything over 576,
|
||||
(maximum pal overscanned) is interlaced.
|
||||
*/
|
||||
if (is_interlaced) {
|
||||
scanline_period=4;
|
||||
scanline_period_half=2;
|
||||
} else {
|
||||
scanline_period=2;
|
||||
scanline_period_half=1;
|
||||
}
|
||||
|
||||
//Skip scanlines on interlaced content?
|
||||
if (! ( is_interlaced && (scanline_disable_on_interlace == 1.0)) ) {
|
||||
|
||||
float mymod = mod(vTexCoord.y * params.OutputSize.y , scanline_period);
|
||||
|
||||
//Do flickering based on user prefs.
|
||||
//(blank odd lines on odd frames and even lines on even frames)
|
||||
if ((scanline_flickering == 1.0) ||
|
||||
((scanline_flickering==2.0) && is_interlaced )) {
|
||||
if (int(mod(float(params.FrameCount),2 )) < 1.0 ) {
|
||||
if (mymod >= scanline_period_half) { pixel_out *= SCANLINE_DARK; }
|
||||
} else {
|
||||
if (mymod < scanline_period_half) { pixel_out *= SCANLINE_DARK; }
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FragColor = vec4(pixel_out,1.0);
|
||||
|
||||
}
|
||||
|
@ -1,49 +0,0 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
|
||||
#include "functions.include"
|
||||
void main()
|
||||
{
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
float aspect_prev = (params.SourceSize.y / params.SourceSize.x);
|
||||
if (border_needed() ) {
|
||||
vTexCoord.x = vTexCoord.x * aspect_prev - ((0.5 * aspect_prev) - 0.5);
|
||||
float in_aspect = get_in_aspect();
|
||||
vTexCoord.x = vTexCoord.x * in_aspect - ((0.5 * in_aspect) - 0.5);
|
||||
} else {
|
||||
vTexCoord.x = vTexCoord.x * aspect_prev - ((0.5 * aspect_prev) - 0.5);
|
||||
float dasp = global.FinalViewportSize.x/global.FinalViewportSize.y;
|
||||
vTexCoord.x = (vTexCoord.x* dasp - ((0.5 * dasp) - 0.5)) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||
|
||||
#include "functions.include"
|
||||
void main() {
|
||||
if ((DO_VIGNETTE != 1.0) && (DO_SPOT != 1.0)) return;
|
||||
|
||||
vec3 pixel_out;
|
||||
if (DO_VIGNETTE == 1.0)
|
||||
pixel_out.r = gauss_xy(0.0, 0.0, v_size, v_power, 0.0, 1.0);
|
||||
if (DO_SPOT == 1.0)
|
||||
pixel_out.g = gauss_xy(s_center_x, s_center_y, s_size, s_power, 0.0, 10.0);
|
||||
|
||||
FragColor = vec4(pixel_out,1.0);
|
||||
}
|
||||
|
||||
|
@ -1,115 +0,0 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
if (DO_BEZEL > 0.5)
|
||||
vTexCoord = zoom(vTexCoord, BEZEL_REFL_ZOOM);
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 1) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 2) uniform sampler2D isrotated_passFeedback;
|
||||
|
||||
#define SourceTexture first_pass
|
||||
#define SourceTextureSize global.first_passSize
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
#define c_tolerance 0.051
|
||||
|
||||
#define b_offset_x -0.05
|
||||
#define Pi2 6.28318530717959
|
||||
|
||||
vec3 blur(float Quality, float Directions, float Size, vec2 co,float lod) {
|
||||
vec4 iResolution = SourceTextureSize;
|
||||
vec2 Radius = Size/iResolution.xy ;
|
||||
|
||||
vec3 color = vec3(0.0,0.0,0.0);
|
||||
vec3 lookup = vec3(0.0,0.0,0.0);
|
||||
float steps=0.0;
|
||||
for( float d=0.0; d<Pi2; d+=Pi2/Directions) {
|
||||
for(float i=1.0/Quality; i<=1.0; i+=1.0/Quality) {
|
||||
lookup = textureLod( SourceTexture, co + vec2(cos(d) + b_offset_x , sin(d))*Radius*i ,lod).rgb ;
|
||||
color +=lookup.rgb;
|
||||
steps+=1.0;
|
||||
}
|
||||
}
|
||||
color /= steps;
|
||||
|
||||
if ( steps > 4.0) return vec3(1.0);
|
||||
|
||||
return color;
|
||||
}
|
||||
|
||||
void main() {
|
||||
if (DO_BEZEL == 0.0) return;
|
||||
|
||||
vec2 coords_curved = vTexCoord;
|
||||
if (DO_CURVATURE == 1.0) {
|
||||
if ((GEOM_WARP_X > 0.0) || (GEOM_WARP_Y > 0.0))
|
||||
coords_curved = Warp(coords_curved,GEOM_WARP_X,GEOM_WARP_Y);
|
||||
}
|
||||
//coords_curved = zoomout_coords(coords_curved, -BEZEL_INNER_ZOOM , 1.0);
|
||||
coords_curved = zoomout_coords(coords_curved, BEZEL_REFLECTION_AREA_SIZE , 1.0);
|
||||
|
||||
bool is_rotated = texture(isrotated_passFeedback,vec2(0.5,0.5)).r > 0.5;
|
||||
|
||||
|
||||
/* Calculate the internal area (the one which is not mirrored)
|
||||
so that we can skip blurring it:
|
||||
*/
|
||||
/* vec2 ar_box;
|
||||
if (!is_rotated) {
|
||||
//Width of the aspect corrected box zoomed as requested by the bezel settings:
|
||||
ar_box.x = global.FinalViewportSize.z*global.FinalViewportSize.y*get_in_aspect() * (1+BEZEL_INNER_ZOOM-c_tolerance) ;
|
||||
//Height zoomed as requested by bezel settings:
|
||||
ar_box.y = 1+BEZEL_INNER_ZOOM-c_tolerance;
|
||||
} else {
|
||||
ar_box.y = global.FinalViewportSize.z*global.FinalViewportSize.y/get_in_aspect() * (1+BEZEL_INNER_ZOOM-c_tolerance) ;
|
||||
ar_box.x= 1+BEZEL_INNER_ZOOM-c_tolerance;
|
||||
}
|
||||
|
||||
//start_point is the middle of the screen minut half the content width
|
||||
vec2 start_point = vec2(0.5 - (ar_box.x*0.5), 0.5 - (ar_box.y*0.5));
|
||||
vec2 end_point = vec2(0.5 + (ar_box.x*0.5), 0.5 + (ar_box.y*0.5));
|
||||
|
||||
|
||||
//Now we can skip the internal area or the black one as already marked by main_pass:
|
||||
//bool skip_condition =(vTexCoord.x > start_point.x && vTexCoord.x < end_point.x &&
|
||||
// vTexCoord.y > start_point.y && vTexCoord.y < end_point.y) ||
|
||||
// is_outer_frame(texture(main_pass,vTexCoord));
|
||||
|
||||
*/
|
||||
|
||||
//FIXME (CHECKME) is the rotation state still important?
|
||||
|
||||
bool skip_condition = (coords_curved.x < 1.0 - c_tolerance && coords_curved.x > c_tolerance &&
|
||||
coords_curved.y < 1.0 - c_tolerance && coords_curved.y > c_tolerance ) ;
|
||||
|
||||
if (skip_condition) {
|
||||
FragColor = mark_useless(vec3(0.0));
|
||||
return;
|
||||
}
|
||||
|
||||
vec2 res = vec2(global.first_passSize.x, global.first_passSize.y);
|
||||
vec2 dir = vec2(1.0,0.0);
|
||||
///Quality, Directions, Size, coords, lod
|
||||
vec3 pixel_blur = blur(1,4,2,coords_curved, 2.0);
|
||||
|
||||
FragColor = vec4(apply_fuzzy_main_pass(pixel_blur),1.0);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
231
bezel/koko-aio/shaders/reflection_blur_x.slang
Normal file
231
bezel/koko-aio/shaders/reflection_blur_x.slang
Normal file
@ -0,0 +1,231 @@
|
||||
#version 450
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 1) out vec2 vWarp_vexp;
|
||||
layout(location = 2) out vec2 vWarp_arg2;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
//Precalc some Curvature/Warp values:
|
||||
vWarp_vexp = 1.0/ (1 + (vec2(GEOM_WARP_X, GEOM_WARP_Y) * 0.2)) ;
|
||||
vWarp_arg2 = 1.0 - pow(vec2(0.29289321881345247559915563789515), vWarp_vexp );
|
||||
|
||||
if (DO_BEZEL > 0.5)
|
||||
vTexCoord = zoom(TexCoord, BEZEL_REFL_ZOOM);
|
||||
}
|
||||
|
||||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in vec2 vWarp_vexp;
|
||||
layout(location = 2) in vec2 vWarp_arg2;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
layout(set = 0, binding = 1) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 2) uniform sampler2D avglum_pass;
|
||||
|
||||
#define SourceTexture first_pass
|
||||
#define SourceTextureSize global.first_passSize
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
#define c_tolerance 0.051
|
||||
|
||||
vec3 texture_clamp_to_border(sampler2D tex, vec2 coords, float lod) {
|
||||
//This emulates clamp to border:
|
||||
if (coords.x < 0.0 || coords.x > 1.0 || coords.y < 0.0 || coords.y > 1.0)
|
||||
return vec3(0.0);
|
||||
else
|
||||
return textureLod( tex, coords, lod).rgb ;
|
||||
}
|
||||
|
||||
|
||||
vec3 blur_unroll_clamp_to_border(float Size, vec2 co, float lod, float coords_crop_point) {
|
||||
//Blur the image along x axis and emulate a clamp_to_border when outside the [0..1] range
|
||||
//FIXME: coords_crop_point are not taken into account? CHECKME if you ever use this.
|
||||
Size = Size * NEW_SCALEMOD_X; //<- so that blur size doesn't depend on output resolution
|
||||
vec3 color;
|
||||
vec2 d = SourceTextureSize.zw * Size;
|
||||
color = texture_clamp_to_border( SourceTexture, co + d * vec2(-1.0, 1.0 ) ,lod).rgb;
|
||||
color += texture_clamp_to_border( SourceTexture, co + d * vec2( 1.0, 1.0 ) ,lod).rgb;
|
||||
color += texture_clamp_to_border( SourceTexture, co + d * vec2(-1.0, -1.0 ) ,lod).rgb;
|
||||
color += texture_clamp_to_border( SourceTexture, co + d * vec2( 1.0, -1.0 ) ,lod).rgb;
|
||||
return color / 4.0;
|
||||
}
|
||||
|
||||
vec3 blur_unroll(float Size, vec2 co, float lod) {
|
||||
//Blurs the image along x axis
|
||||
Size = Size * NEW_SCALEMOD_X; //<- so that blur size doesn't depend on output resolution
|
||||
vec3 color;
|
||||
vec2 d = SourceTextureSize.zw * Size;
|
||||
color = textureLod( SourceTexture, co + d * vec2(-1.0, 1.0 ) ,lod).rgb;
|
||||
color += textureLod( SourceTexture, co + d * vec2( 1.0, 1.0 ) ,lod).rgb;
|
||||
color += textureLod( SourceTexture, co + d * vec2(-1.0, -1.0 ) ,lod).rgb;
|
||||
color += textureLod( SourceTexture, co + d * vec2( 1.0, -1.0 ) ,lod).rgb;
|
||||
return color / 4.0;
|
||||
}
|
||||
|
||||
vec2 mirrored_repeat(vec2 co, float crop) {
|
||||
//Do a coords mirrored repeat with the mirror axis
|
||||
//shifted by a "crop" amount.
|
||||
//Don't try to unbranch me, it is a matter of 1/1000.
|
||||
float cmin = 0.0 + crop ;
|
||||
float cmax = 1.0 - crop ;
|
||||
if (co.x < cmin )
|
||||
co.x = 2*cmin - co.x;
|
||||
if (co.y < cmin)
|
||||
co.y = 2*cmin - co.y;
|
||||
if (co.x > cmax )
|
||||
co.x = 2*cmax - co.x;
|
||||
if (co.y > cmax )
|
||||
co.y = 2*cmax - co.y;
|
||||
return co;
|
||||
}
|
||||
|
||||
float circle_smooth(vec2 coords, vec2 middle, float f_radius, float FALLOFF) {
|
||||
//Draw a circle with smoothed borders:
|
||||
float fdistance=distance(middle, vec2(coords.x, coords.y));
|
||||
float circle = (1-smoothstep(f_radius-FALLOFF, f_radius+FALLOFF, fdistance));
|
||||
return circle;
|
||||
}
|
||||
|
||||
float square_smooth(vec2 co, vec2 corner, float size, float smoothshade) {
|
||||
//Draws a square with smooth borders:
|
||||
vec4 rect = vec4(corner.x, corner.y, corner.x+size, corner.y+size);
|
||||
vec2 hv = smoothstep(rect.xy - smoothshade, rect.xy, co) * smoothstep(co - smoothshade, co, rect.zw);
|
||||
return hv.x * hv.y;
|
||||
}
|
||||
|
||||
float corners_shade(vec2 co, float size, float smoothsize){
|
||||
//Draws 4 smooth squares or circles in the corners.
|
||||
//They are intended to modulate the blur radius and the strength of the reflection.
|
||||
|
||||
/*
|
||||
vec4 circles;
|
||||
float circle_radius = size; //0.13?
|
||||
float circle_falloff = smoothsize; //0.05?
|
||||
float circle_power =2.0;
|
||||
circles.x = circle_smooth(co, vec2(0.0,0.0), circle_radius, circle_falloff) * circle_power;
|
||||
circles.y = circle_smooth(co, vec2(0.0,1.0), circle_radius, circle_falloff) * circle_power;
|
||||
circles.z = circle_smooth(co, vec2(1.0,0.0), circle_radius, circle_falloff) * circle_power;
|
||||
circles.w = circle_smooth(co, vec2(1.0,1.0), circle_radius, circle_falloff) * circle_power;
|
||||
|
||||
float circle = max(max(max(circles.x, circles.y), circles.z), circles.w);
|
||||
circle = min(circle, 1.0);
|
||||
circle = 1-circle;
|
||||
|
||||
return circle;
|
||||
*/
|
||||
vec4 squares;
|
||||
float squaresize = size;
|
||||
float squarefade = smoothsize;
|
||||
//(vec2 co, vec2 corner, float size, float smoothshade) {
|
||||
squares.x = square_smooth(co, vec2(0.0,0.0), squaresize, squarefade);
|
||||
squares.y = square_smooth(co, vec2(1.0 - squaresize, 0.0), squaresize, squarefade);
|
||||
squares.z = square_smooth(co, vec2(0.0, 1-squaresize), squaresize, squarefade);
|
||||
squares.w = square_smooth(co, vec2(1-squaresize, 1-squaresize), squaresize, squarefade);
|
||||
return max(max(max(squares.x, squares.y), squares.z), squares.w);
|
||||
}
|
||||
|
||||
float borders_gradient(vec2 co, float foffset) {
|
||||
// Create a b/w shade near the borders that will be used to
|
||||
// Modulate from sharp reflections to blur reflections.
|
||||
vec4 shades;
|
||||
shades.x = abs( co.x - foffset );
|
||||
shades.y = abs( 1 - co.x - foffset );
|
||||
shades.z = abs( co.y - foffset );
|
||||
shades.w = abs( 1 - co.y - foffset );
|
||||
return min(min(min(shades.x, shades.y), shades.z), shades.w);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void main() {
|
||||
if (DO_BEZEL == 0.0) return;
|
||||
|
||||
//Zoom out the image coordinates by the bezel border size to make room for reflections:
|
||||
vec2 coords = zoomout_coords(vTexCoord, BEZEL_BORDER_SIZE, 1.0);
|
||||
vec2 coords_zoomedout = coords;
|
||||
|
||||
//This skip condition will be used to spped-up processing by discarding unuseful pixels.
|
||||
//the c_tolerance parameter is a safe measure /FIXME: for what?
|
||||
bool skip_condition = (coords.x < 1.0 - c_tolerance && coords.x > c_tolerance &&
|
||||
coords.y < 1.0 - c_tolerance && coords.y > c_tolerance ) ;
|
||||
|
||||
|
||||
//Mark the pixel as not useful, so that the next pass will be aware of it and skip rendering too:
|
||||
if (skip_condition) {
|
||||
FragColor = mark_useless(vec3(0.0));
|
||||
return;
|
||||
}
|
||||
|
||||
//If coords needs to be curved, do it now:
|
||||
if (DO_CURVATURE == 1.0 && ( GEOM_WARP_X > 0.0 || GEOM_WARP_Y > 0.0) ) {
|
||||
coords = Warp_fast(coords, vWarp_vexp, vWarp_arg2); //coords_curved = Warp(coords_curved,GEOM_WARP_X,GEOM_WARP_Y);
|
||||
}
|
||||
|
||||
|
||||
//Since we will use a mirrored_repeat trick to simulate reflections, we need to know
|
||||
//where the mirror axis is.
|
||||
//The mirror axis position may depend on the dynamic zoom level
|
||||
//(the feature that zooms the image in when it is bright)
|
||||
float coords_crop_point = 0.0;
|
||||
if (DO_DYNZOOM == 1.0) {
|
||||
//Crop coordinates to move the mirror axes
|
||||
float dyn_zoom = get_dyn_zoom(avglum_pass);
|
||||
coords_crop_point = (dyn_zoom - 1.0) * 0.5;
|
||||
//Zoom image coords to align it
|
||||
coords = zoom(coords, dyn_zoom);
|
||||
}
|
||||
coords_crop_point += BEZEL_RFL_OFFSET; // <- Adding the user offset
|
||||
|
||||
//Mirror repeat the image by taking the crop point (mirror axis offset) into account:
|
||||
coords = mirrored_repeat(coords, coords_crop_point);
|
||||
|
||||
|
||||
//Create gradients in the corners to fadeout reflections and to blur more near them:
|
||||
float fcorners_shade = corners_shade(vTexCoord, BEZEL_REFL_CORNER_BLANK_SIZE, BEZEL_REFL_CORNER_BLANK_SHADE);
|
||||
|
||||
|
||||
//Create a gradient near borders to modulate between blurrend and sharp refection.
|
||||
//This also goes into output alpha channel to make the next pass aware of it.
|
||||
float shade_sharp_blur = borders_gradient(coords, coords_crop_point);
|
||||
shade_sharp_blur = shade_sharp_blur * 1/(BEZEL_BORDER_SIZE * 0.3) ;
|
||||
shade_sharp_blur = shade_sharp_blur - BEZEL_RFL_BLR_SHD; //Modulates between sharp and blur via user parameter
|
||||
|
||||
|
||||
//Also modulate in the corners via fcorners_shade (fcorners_shade
|
||||
shade_sharp_blur = max(fcorners_shade, shade_sharp_blur);
|
||||
|
||||
|
||||
//Clamp to min 0.01 because anything lower will cause the next pass to think the pixel is useless.
|
||||
shade_sharp_blur = max(shade_sharp_blur, 0.01);
|
||||
//shade_sharp_blur = clamp(shade_sharp_blur, 0.01, 1.0);
|
||||
|
||||
|
||||
//blur the reflection along x axis:
|
||||
vec3 pixel_out = blur_unroll(BEZEL_REFL_BLUR_MAX * shade_sharp_blur, coords, 2.0);
|
||||
// I tried, instead of simple blur_unroll() to take a black border into account ( blur_unroll_clamp_to_border() )
|
||||
// to emulate the reflection of black border into the main content
|
||||
// when it is smaller than the bezel, but due to the low resolution of this pass, the results are bad:
|
||||
// vec3 pixel_out = blur_unroll_clamp_to_border(BEZEL_REFL_BLUR_MAX * shade_sharp_blur, coords, 2.0, coords_crop_point);
|
||||
|
||||
|
||||
//multiply the blurred image by the corner shade so that reflections will not be visible in the corners.
|
||||
pixel_out = pixel_out * (1 - fcorners_shade);
|
||||
|
||||
|
||||
// Finally, output the blurred image and put the sharp to blurred gradient in the alpha channel
|
||||
// to be used by the next blur-y pass too to modulate the blur radius.
|
||||
FragColor = vec4(apply_fuzzy_main_pass(pixel_out), shade_sharp_blur);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -6,8 +6,7 @@ layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
|
||||
void main()
|
||||
{
|
||||
void main() {
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord;
|
||||
}
|
||||
@ -17,6 +16,7 @@ layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
#define SourceTexture Source
|
||||
@ -25,6 +25,7 @@ layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||
#define b_offset_x -0.05
|
||||
#define Pi2 6.28318530717959
|
||||
vec3 blur(float Quality, float Directions, float Size, vec2 co) {
|
||||
Size = Size * NEW_SCALEMOD_Y;
|
||||
vec4 iResolution = SourceTextureSize;
|
||||
vec2 Radius = Size/iResolution.xy ;
|
||||
vec3 color = vec3(0.0,0.0,0.0);
|
||||
@ -41,15 +42,39 @@ vec3 blur(float Quality, float Directions, float Size, vec2 co) {
|
||||
return color;
|
||||
}
|
||||
|
||||
vec3 blur_unroll(float Size, vec2 co) {
|
||||
Size = Size * NEW_SCALEMOD_Y;
|
||||
vec3 color = vec3(0.0,0.0,0.0);
|
||||
vec2 d = SourceTextureSize.zw * Size;
|
||||
color = texture( SourceTexture, co + d * vec2(-1.0, 1.0 )).rgb ;
|
||||
color += texture( SourceTexture, co + d * vec2( 1.0, 1.0 )).rgb ;
|
||||
color += texture( SourceTexture, co + d * vec2(-1.0, -1.0 )).rgb ;
|
||||
color += texture( SourceTexture, co + d * vec2( 1.0, -1.0 )).rgb ;
|
||||
color /= 4.0;
|
||||
return color;
|
||||
}
|
||||
|
||||
void main() {
|
||||
|
||||
if (DO_BEZEL == 0.0) return;
|
||||
|
||||
if (is_useless(texture(Source, vTexCoord))) return;
|
||||
|
||||
vec2 coords = vTexCoord;
|
||||
vec4 pixel_source = texture(Source, coords);
|
||||
if (is_useless(pixel_source)) {
|
||||
//FragColor = vec4(0.0);
|
||||
return;
|
||||
}
|
||||
|
||||
float blur_modulation = pixel_source.a;
|
||||
vec3 pixel_out = blur_unroll(BEZEL_REFL_BLUR_MAX * blur_modulation, coords);
|
||||
|
||||
vec2 res = vec2(params.SourceSize.x, params.SourceSize.y);
|
||||
vec2 dir = vec2(0.0,1.0);
|
||||
///Quality, Directions, Size, coords
|
||||
FragColor = vec4(blur(1,4,2,vTexCoord),1.0);
|
||||
//pixel_out = mix(vec3(blur_modulation), pixel_out, 0.5);
|
||||
|
||||
FragColor = vec4(pixel_out, 1.0);
|
||||
|
||||
//FragColor = vec4(blur_modulation);
|
||||
|
||||
}
|
||||
|
||||
|
@ -43,14 +43,14 @@ vec3 hsv2rgb(vec3 c){
|
||||
return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
|
||||
}
|
||||
|
||||
#define eps10 1.0e-10
|
||||
vec3 rgb2hsv(vec3 c){
|
||||
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
|
||||
vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));
|
||||
vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));
|
||||
|
||||
float d = q.x - min(q.w, q.y);
|
||||
float e = 1.0e-10;
|
||||
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
|
||||
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + eps10)), d / (q.x + eps10), q.x);
|
||||
}
|
||||
|
||||
#define bandwidth_mhz_Y_ntsc 4.2
|
||||
@ -61,7 +61,7 @@ const mat3 mat3_RGB2YIQ = mat3(
|
||||
0.2989, 0.5959, 0.2115,
|
||||
0.5870, -0.2744, -0.5229,
|
||||
0.1140, -0.3216, 0.3114);
|
||||
|
||||
|
||||
const mat3 mat3_YIQ2RGB = mat3(
|
||||
1.0, 1.0, 1.0,
|
||||
0.956, -0.2720, -1.1060,
|
||||
@ -99,33 +99,34 @@ vec3 pixel_offset(vec3 pixel_cur,vec2 coord, sampler2D in_texture, vec4 sourcesi
|
||||
|
||||
|
||||
vec3 pixel_offset_wrap (vec2 coord) {
|
||||
vec3 pixel_in;
|
||||
if ( DO_FXAA == 1.0) {
|
||||
pixel_in = texture(FXAA_pass, vTexCoord).rgb;
|
||||
return pixel_offset(pixel_in, vTexCoord, FXAA_pass, global.FXAA_passSize);
|
||||
return pixel_offset(texture(FXAA_pass, vTexCoord).rgb, vTexCoord, FXAA_pass, global.FXAA_passSize);
|
||||
} else {
|
||||
pixel_in = texture(first_pass, vTexCoord).rgb;
|
||||
return pixel_offset(pixel_in, vTexCoord, first_pass, global.first_passSize);
|
||||
return pixel_offset(texture(first_pass, vTexCoord).rgb, vTexCoord, first_pass, global.first_passSize);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
vec3 pixel_bleed_side_NTSC(vec3 pixel_in, vec2 co, float size, float side, sampler2D in_texture, vec4 sourcesize2) {
|
||||
float w = SAT_BLEED_STRENGTH;
|
||||
vec3 blur_YIQ = pixel_in * mat3_RGB2YIQ; //Work in YIQ space
|
||||
float i = 0.0;
|
||||
for ( i=1 ; i <= size ; i++ ){
|
||||
w=w/SAT_BLEED_FALLOFF;
|
||||
w=w/SAT_BLEED_FALLOFF;
|
||||
//w = w * exp(i*i*(1-SAT_BLEED_FALLOFF)*0.1);
|
||||
//w=clamp(w,0.0,1.0);
|
||||
vec3 smp_YIQ = texture(first_pass, co - side * vec2(sourcesize2.z*i,0.0)).rgb * mat3_RGB2YIQ;
|
||||
blur_YIQ.x = mix(blur_YIQ.x, smp_YIQ.x, w/bandwidth_mhz_Y_ntsc); // Blur Y
|
||||
blur_YIQ.y = mix(blur_YIQ.y, smp_YIQ.y, w/bandwidth_mhz_I ); // Blur I
|
||||
blur_YIQ.z = mix(blur_YIQ.z, smp_YIQ.z, w/bandwidth_mhz_Q ); // BlurQ
|
||||
//Tried to optimize as follows to no avail:
|
||||
//vec3 vec3_mix = vec3(w/bandwidth_mhz_Y_ntsc, w/bandwidth_mhz_I, w/bandwidth_mhz_Q);
|
||||
//blur_YIQ = mix(blur_YIQ.xyz, smp_YIQ.xyz, vec3_mix);
|
||||
}
|
||||
//blur_YIQ.z/=i;
|
||||
return vec3(blur_YIQ.x, blur_YIQ.y, blur_YIQ.z) * mat3_YIQ2RGB; //return to RGB colorspace
|
||||
return blur_YIQ.xyz * mat3_YIQ2RGB; //return to RGB colorspace
|
||||
}
|
||||
|
||||
vec3 pixel_bleed_side_PAL(vec3 pixel_in, vec2 co, float size, float side, sampler2D in_texture, vec4 sourcesize2) {
|
||||
float w = SAT_BLEED_STRENGTH;
|
||||
vec3 blur_YUV = pixel_in * mat3_RGB2YUV; //Work in YIQ space
|
||||
@ -138,7 +139,7 @@ vec3 pixel_bleed_side_PAL(vec3 pixel_in, vec2 co, float size, float side, sample
|
||||
blur_YUV.y = mix(blur_YUV.y, smp_YUV.y, w/bandwidth_mhz_U ); // Blur U
|
||||
blur_YUV.z = mix(blur_YUV.z, smp_YUV.z, w/bandwidth_mhz_V ); // Blur V
|
||||
}
|
||||
return vec3(blur_YUV.x, blur_YUV.y, blur_YUV.z) * mat3_YUV2RGB; //return to RGB colorspace
|
||||
return blur_YUV.xyz * mat3_YUV2RGB; //return to RGB colorspace
|
||||
}
|
||||
|
||||
#define SIDE_RIGHT 1
|
||||
@ -147,6 +148,8 @@ vec3 pixel_bleed_side_PAL(vec3 pixel_in, vec2 co, float size, float side, sample
|
||||
|
||||
vec3 pixel_bleed(vec3 pixel_in, vec2 co, sampler2D in_texture, vec4 sourcesize2) {
|
||||
vec3 side_left ; vec3 side_right;
|
||||
//Tried to unbranch the following, no gain (even worse) probably due to not using constants anymore.
|
||||
//Just dont try again.
|
||||
if (SAT_BLEED_PAL == 1.0) {
|
||||
side_right = pixel_bleed_side_PAL(pixel_in, co, SAT_BLEED_SIZE_RIGHT, SIDE_RIGHT, in_texture, sourcesize2);
|
||||
side_left = pixel_bleed_side_PAL(pixel_in, co, SAT_BLEED_SIZE_LEFT, SIDE_LEFT, in_texture, sourcesize2);
|
||||
@ -154,47 +157,57 @@ vec3 pixel_bleed(vec3 pixel_in, vec2 co, sampler2D in_texture, vec4 sourcesize2)
|
||||
side_right = pixel_bleed_side_NTSC(pixel_in, co, SAT_BLEED_SIZE_RIGHT, SIDE_RIGHT, in_texture, sourcesize2);
|
||||
side_left = pixel_bleed_side_NTSC(pixel_in, co, SAT_BLEED_SIZE_LEFT, SIDE_LEFT, in_texture, sourcesize2);
|
||||
}
|
||||
return mix(side_left,side_right,0.5);
|
||||
//Clamping min to 0.0 is needed for nvidia to avoid bad graphical glitches, why?
|
||||
return max( mix(side_left,side_right,0.5), 0.0) ;
|
||||
|
||||
}
|
||||
void main() {
|
||||
if (DO_SHIFT_RGB + DO_SAT_BLEED == 0.0) return;
|
||||
|
||||
float pixel_alpha_ntsc_artifacts; // <- this holds ntsc artifacts needed by glow to modulate blur there.
|
||||
vec3 pixel_out;
|
||||
//Handle case where both are needed:
|
||||
//First shift the right source, then pass it to bleed function.
|
||||
if (DO_SHIFT_RGB + DO_SAT_BLEED > 1.0) {
|
||||
vec3 pixel_out = pixel_offset_wrap(vTexCoord);
|
||||
pixel_out = pixel_offset_wrap(vTexCoord);
|
||||
if (DO_SAT_BLEED > 0.0) {
|
||||
if ( DO_FXAA == 1.0) {
|
||||
pixel_out = pixel_bleed(pixel_out, vTexCoord, FXAA_pass, global.FXAA_passSize);
|
||||
pixel_alpha_ntsc_artifacts = texture(FXAA_pass, vTexCoord).a;
|
||||
} else {
|
||||
pixel_out = pixel_bleed(pixel_out, vTexCoord, first_pass, global.first_passSize);
|
||||
pixel_alpha_ntsc_artifacts = texture(first_pass, vTexCoord).a;
|
||||
}
|
||||
}
|
||||
FragColor = vec4(pixel_out,0.0);
|
||||
return;
|
||||
}
|
||||
|
||||
//Handle case where only color shifting is requested
|
||||
if (DO_SHIFT_RGB > 0.0) {
|
||||
vec3 pixel_out = pixel_offset_wrap(vTexCoord);
|
||||
FragColor = vec4(pixel_out,0.0);
|
||||
return;
|
||||
}
|
||||
|
||||
//Handle case where only chroma bleed is requested
|
||||
if (DO_SAT_BLEED > 0.0) {
|
||||
vec3 pixel_out;
|
||||
} else
|
||||
//Handle case where only color shifting is requested
|
||||
if (DO_SHIFT_RGB > 0.0) {
|
||||
pixel_out = pixel_offset_wrap(vTexCoord);
|
||||
} else
|
||||
if (DO_SAT_BLEED > 0.0) {
|
||||
//Handle case where only chroma bleed is requested
|
||||
if ( DO_FXAA == 1.0) {
|
||||
pixel_out = texture(FXAA_pass, vTexCoord).rgb;
|
||||
pixel_alpha_ntsc_artifacts = texture(FXAA_pass, vTexCoord).a;
|
||||
pixel_out = pixel_bleed(pixel_out, vTexCoord, FXAA_pass, global.FXAA_passSize);
|
||||
|
||||
} else {
|
||||
pixel_out = texture(first_pass, vTexCoord).rgb;
|
||||
pixel_alpha_ntsc_artifacts = texture(first_pass, vTexCoord).a;
|
||||
pixel_out = pixel_bleed(pixel_out, vTexCoord, first_pass, global.first_passSize);
|
||||
}
|
||||
} else
|
||||
//Passthrough
|
||||
if ( DO_FXAA == 1.0) {
|
||||
pixel_out = texture(FXAA_pass, vTexCoord).rgb;
|
||||
pixel_out = pixel_bleed(pixel_out, vTexCoord, FXAA_pass, global.FXAA_passSize);
|
||||
pixel_alpha_ntsc_artifacts = texture(FXAA_pass, vTexCoord).a;
|
||||
} else {
|
||||
pixel_out = texture(first_pass, vTexCoord).rgb;
|
||||
pixel_out = pixel_bleed(pixel_out, vTexCoord, first_pass, global.first_passSize);
|
||||
pixel_alpha_ntsc_artifacts = texture(first_pass, vTexCoord).a;
|
||||
}
|
||||
FragColor = vec4(pixel_out,0.0);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
//pre-gamma if needed by glow.
|
||||
if (DO_IN_GLOW > 0.5)
|
||||
pixel_out = pow(pixel_out, vec3(IN_GLOW_GAMMA));
|
||||
|
||||
FragColor = vec4(pixel_out,pixel_alpha_ntsc_artifacts);
|
||||
return;
|
||||
}
|
||||
|
BIN
bezel/koko-aio/textures/boothill.jpg
Normal file
BIN
bezel/koko-aio/textures/boothill.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 84 KiB |
Binary file not shown.
Before Width: | Height: | Size: 419 KiB |
BIN
bezel/koko-aio/textures/monitor_body_curved.png
Normal file
BIN
bezel/koko-aio/textures/monitor_body_curved.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 226 KiB |
BIN
bezel/koko-aio/textures/monitor_body_straight.png
Normal file
BIN
bezel/koko-aio/textures/monitor_body_straight.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 170 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.8 MiB |
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -190,23 +190,21 @@ DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.400000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
DO_FXAA = "1.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
SAT_BLEED_SIZE_LEFT = "3.000000"
|
||||
SAT_BLEED_SIZE_RIGHT = "3.000000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
OFFSET_STRENGTH = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.600000"
|
||||
IN_GLOW_W = "0.950000"
|
||||
IN_GLOW_H = "0.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_SPREAD = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
@ -214,32 +212,36 @@ VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.520000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINE_COMPENSATION = "0.200000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.500000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "2.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.160000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -248,3 +250,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
259
bezel/koko-aio/tv-NTSC-1-classic_take.slangp
Normal file
259
bezel/koko-aio/tv-NTSC-1-classic_take.slangp
Normal file
@ -0,0 +1,259 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
mipmap_input16 = "false"
|
||||
alias16 = "final_pass"
|
||||
float_framebuffer16 = "false"
|
||||
srgb_framebuffer16 = "false"
|
||||
scale_type_x16 = "viewport"
|
||||
scale_x16 = "1.000000"
|
||||
scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
CONTRAST = "0.050000"
|
||||
BRIGHTNESS = "0.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.560000"
|
||||
DO_NTSC_ARTIFACTS = "1.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.650000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "2.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.600000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.500000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.300000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.050000"
|
||||
SCANLINE_MAX = "4.100000"
|
||||
SCANLINE_DARK = "0.100000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.550000"
|
||||
BLOOM_EYE_ADPT_SRT = "0.800000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.010000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "5.000000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
bg_under_mipmap = "true"
|
||||
bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
262
bezel/koko-aio/tv-NTSC-1-selective-classic_take.slangp
Normal file
262
bezel/koko-aio/tv-NTSC-1-selective-classic_take.slangp
Normal file
@ -0,0 +1,262 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
mipmap_input16 = "false"
|
||||
alias16 = "final_pass"
|
||||
float_framebuffer16 = "false"
|
||||
srgb_framebuffer16 = "false"
|
||||
scale_type_x16 = "viewport"
|
||||
scale_x16 = "1.000000"
|
||||
scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
CONTRAST = "0.050000"
|
||||
BRIGHTNESS = "0.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.560000"
|
||||
DO_NTSC_ARTIFACTS = "1.000000"
|
||||
NTSC_FILTER_FC = "0.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.650000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "2.000000"
|
||||
IN_GLOW_NTSC_ARTF_MULT = "1.000000"
|
||||
IN_GLOW_NTSC_ARTF_TRSH = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.600000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.500000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.300000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.050000"
|
||||
SCANLINE_MAX = "4.100000"
|
||||
SCANLINE_DARK = "0.100000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.550000"
|
||||
BLOOM_EYE_ADPT_SRT = "0.800000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.010000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "5.000000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
bg_under_mipmap = "true"
|
||||
bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
258
bezel/koko-aio/tv-NTSC-1-selective.slangp
Normal file
258
bezel/koko-aio/tv-NTSC-1-selective.slangp
Normal file
@ -0,0 +1,258 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
mipmap_input16 = "false"
|
||||
alias16 = "final_pass"
|
||||
float_framebuffer16 = "false"
|
||||
srgb_framebuffer16 = "false"
|
||||
scale_type_x16 = "viewport"
|
||||
scale_x16 = "1.000000"
|
||||
scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.560000"
|
||||
DO_NTSC_ARTIFACTS = "1.000000"
|
||||
NTSC_FILTER_FC = "0.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "2.000000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_NTSC_ARTF_MULT = "1.000000"
|
||||
IN_GLOW_NTSC_ARTF_TRSH = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.500000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_DARK = "0.100000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.550000"
|
||||
BLOOM_EYE_ADPT_SRT = "0.800000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.010000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "5.000000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
bg_under_mipmap = "true"
|
||||
bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -188,20 +188,15 @@ scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
CONTRAST = "0.050000"
|
||||
BRIGHTNESS = "0.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.560000"
|
||||
DO_NTSC_ARTIFACTS = "1.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.750000"
|
||||
IN_GLOW_POWER = "2.000000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
@ -214,23 +209,22 @@ HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_DARK = "0.300000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_DARK = "0.100000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_STRENGTH = "1.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
BLOOM_MIX = "0.550000"
|
||||
BLOOM_EYE_ADPT_SRT = "0.800000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.500000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.010000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "5.000000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
@ -238,11 +232,15 @@ V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -251,3 +249,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -188,21 +188,16 @@ scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
CONTRAST = "0.050000"
|
||||
BRIGHTNESS = "0.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.560000"
|
||||
DO_NTSC_ARTIFACTS = "1.000000"
|
||||
NTSC_PHASE_SHIFT = "1.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.750000"
|
||||
IN_GLOW_POWER = "2.000000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
@ -215,23 +210,22 @@ HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_DARK = "0.300000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_DARK = "0.100000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_STRENGTH = "1.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
BLOOM_MIX = "0.550000"
|
||||
BLOOM_EYE_ADPT_SRT = "0.800000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.500000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.010000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "5.000000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
@ -239,11 +233,15 @@ V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -252,3 +250,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -193,62 +193,65 @@ CONTRAST = "0.050000"
|
||||
BRIGHTNESS = "0.050000"
|
||||
TEMPERATURE = "7500.000000"
|
||||
GAMMA_OUT = "0.560000"
|
||||
DO_RF_NOISE = "1.000000"
|
||||
RF_NOISE_STRENGTH = "0.025000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "1.750000"
|
||||
SAT_BLEED_SIZE_LEFT = "3.000000"
|
||||
SAT_BLEED_SIZE_RIGHT = "3.000000"
|
||||
OFFSET_STRENGTH = "1.000000"
|
||||
SHIFT_R = "2.000000"
|
||||
SHIFT_G = "20.000000"
|
||||
SHIFT_B = "-2.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.650000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_SPREAD = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.700000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.500000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "1.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_DARK = "0.750000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINE_COMPENSATION = "0.200000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_STRENGTH = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.500000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.500000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.010000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "5.000000"
|
||||
AMBI_POWER = "1.000000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -257,3 +260,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -190,9 +190,8 @@ DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.350000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
DO_FXAA = "1.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
SAT_BLEED_SIZE_LEFT = "3.000000"
|
||||
@ -203,10 +202,11 @@ SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.750000"
|
||||
IN_GLOW_W = "0.950000"
|
||||
IN_GLOW_H = "0.950000"
|
||||
IN_GLOW_POWER = "1.100000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_SPREAD = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
@ -214,41 +214,42 @@ VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "1.000000"
|
||||
DARKLINES_VOFFSET = "0.000000"
|
||||
DARKLINES_PERIOD = "2.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.350000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINE_COMPENSATION = "0.200000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.500000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "2.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.800000"
|
||||
GEOM_WARP_Y = "0.850000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.160000"
|
||||
BEZEL_FRAME_ZOOM = "0.040000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
AMBI_FALLOFF = "0.600000"
|
||||
AMBI_POWER = "2.000000"
|
||||
AMBI_POWER = "1.700000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -257,3 +258,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -190,9 +190,8 @@ DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.350000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
DO_FXAA = "1.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
SAT_BLEED_SIZE_LEFT = "3.000000"
|
||||
@ -203,10 +202,11 @@ SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.750000"
|
||||
IN_GLOW_W = "0.950000"
|
||||
IN_GLOW_H = "0.950000"
|
||||
IN_GLOW_POWER = "1.100000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_SPREAD = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
@ -214,26 +214,22 @@ VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "1.000000"
|
||||
DARKLINES_VOFFSET = "0.000000"
|
||||
DARKLINES_PERIOD = "2.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.350000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINE_COMPENSATION = "0.200000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.500000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "2.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.500000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.010000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
@ -245,11 +241,15 @@ V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -258,3 +258,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -190,23 +190,22 @@ DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.350000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
DO_FXAA = "1.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
SAT_BLEED_SIZE_LEFT = "3.000000"
|
||||
SAT_BLEED_SIZE_RIGHT = "3.000000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
OFFSET_STRENGTH = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.750000"
|
||||
IN_GLOW_W = "0.950000"
|
||||
IN_GLOW_H = "0.950000"
|
||||
IN_GLOW_POWER = "1.100000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_SPREAD = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
@ -214,35 +213,38 @@ VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "1.000000"
|
||||
DARKLINES_VOFFSET = "0.000000"
|
||||
DARKLINES_PERIOD = "2.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.350000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINE_COMPENSATION = "0.200000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.500000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "2.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.160000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -251,3 +253,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -190,23 +190,22 @@ DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.350000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
DO_FXAA = "1.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
SAT_BLEED_SIZE_LEFT = "3.000000"
|
||||
SAT_BLEED_SIZE_RIGHT = "3.000000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
OFFSET_STRENGTH = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.900000"
|
||||
IN_GLOW_W = "0.950000"
|
||||
IN_GLOW_H = "0.950000"
|
||||
IN_GLOW_POWER = "1.100000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_SPREAD = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
@ -214,34 +213,37 @@ VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "1.000000"
|
||||
DARKLINES_VOFFSET = "0.000000"
|
||||
DARKLINES_PERIOD = "2.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.350000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINE_COMPENSATION = "0.200000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.500000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "2.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.160000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -250,3 +252,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -193,14 +193,11 @@ GAMMA_OUT = "0.400000"
|
||||
DO_FXAA = "1.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
SAT_BLEED_FALLOFF = "1.800000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.700000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "2.000000"
|
||||
IN_GLOW_H = "2.000000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
@ -208,6 +205,7 @@ VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
VMASK_OVERWHITE = "0.750000"
|
||||
DARKLINES_STRENGTH = "0.400000"
|
||||
DARKLINES_PERIOD = "0.200000"
|
||||
DRKLN_OVERWHITE = "0.750000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
@ -215,36 +213,42 @@ HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.300000"
|
||||
SCANLINE_DARK = "0.100000"
|
||||
SCANLINES_BLEEDING = "0.300000"
|
||||
SCANLINE_FLICKERING = "1.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.850000"
|
||||
SCANLINE_SM_STRENGTH = "1.000000"
|
||||
SCANLINE_FLICKERING_POWER = "1.100000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "1.200000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
BLOOM_POWER = "1.600000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.800000"
|
||||
GEOM_WARP_Y = "0.850000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.165000"
|
||||
BEZEL_FRAME_ZOOM = "0.040000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.002000"
|
||||
BEZEL_REFL_ZOOM = "0.993000"
|
||||
AMBI_FALLOFF = "0.600000"
|
||||
AMBI_POWER = "2.000000"
|
||||
AMBI_POWER = "1.700000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
V_SIZE = "1.900000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
S_POWER = "0.200000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -253,3 +257,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -190,9 +190,8 @@ DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.400000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
DO_FXAA = "1.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
SAT_BLEED_SIZE_LEFT = "3.000000"
|
||||
@ -203,50 +202,53 @@ SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.600000"
|
||||
IN_GLOW_W = "0.950000"
|
||||
IN_GLOW_H = "0.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_SPREAD = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.500000"
|
||||
DARKLINES_STRENGTH = "0.800000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.520000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINE_COMPENSATION = "0.200000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.500000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "2.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.800000"
|
||||
GEOM_WARP_Y = "0.850000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.165000"
|
||||
BEZEL_FRAME_ZOOM = "0.040000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
AMBI_FALLOFF = "0.600000"
|
||||
AMBI_POWER = "2.000000"
|
||||
AMBI_POWER = "1.700000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -255,3 +257,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -190,9 +190,8 @@ DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.400000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
DO_FXAA = "1.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
SAT_BLEED_SIZE_LEFT = "3.000000"
|
||||
@ -203,39 +202,39 @@ SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.600000"
|
||||
IN_GLOW_W = "0.950000"
|
||||
IN_GLOW_H = "0.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_SPREAD = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.500000"
|
||||
DARKLINES_STRENGTH = "0.800000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.520000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINE_COMPENSATION = "0.200000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.500000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "2.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.500000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SIZE = "0.005000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.010000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
BEZEL_RFL_OFFSET = "0.001000"
|
||||
BEZEL_REFL_ZOOM = "0.990000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "5.000000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
@ -243,11 +242,15 @@ V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -256,3 +259,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -190,57 +190,60 @@ DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.400000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
DO_FXAA = "1.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
SAT_BLEED_SIZE_LEFT = "3.000000"
|
||||
SAT_BLEED_SIZE_RIGHT = "3.000000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
OFFSET_STRENGTH = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.600000"
|
||||
IN_GLOW_W = "0.950000"
|
||||
IN_GLOW_H = "0.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_SPREAD = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.500000"
|
||||
DARKLINES_STRENGTH = "0.800000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.520000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINE_COMPENSATION = "0.200000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.500000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "2.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.160000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -249,3 +252,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
@ -1,180 +1,180 @@
|
||||
shaders = "17"
|
||||
shader0 = "shaders/first_pass.slang"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "first_pass"
|
||||
alias0 = "ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "2.000000"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "2.000000"
|
||||
shader1 = "shaders/fxaa.slang"
|
||||
filter_linear1 = "true"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "true"
|
||||
alias1 = "FXAA_pass"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "1.000000"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "1.000000"
|
||||
shader2 = "shaders/shift_and_bleed.slang"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "false"
|
||||
alias2 = "shift_and_bleed_pass"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/in_glow.slang"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "in_glow_pass"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/halo.slang"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "halo_pass"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/avglum_pass.slang"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "avglum_pass"
|
||||
float_framebuffer5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "0.500000"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "0.500000"
|
||||
shader6 = "shaders/reflection_blur_h.slang"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "mirrored_repeat"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "reflected_blurred_pass1"
|
||||
float_framebuffer6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/reflection_blur_v.slang"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "mirrored_repeat"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "reflected_blurred_pass2"
|
||||
float_framebuffer7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/bloom_pass_1.slang"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "bloom_pass_1"
|
||||
float_framebuffer8 = "true"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "1.000000"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "1.000000"
|
||||
shader9 = "shaders/bloom_pass_2.slang"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_x.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_edge"
|
||||
wrap_mode9 = "mirrored_repeat"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "bloom_pass_2"
|
||||
alias9 = "reflected_blurred_pass1"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "0.500000"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "0.500000"
|
||||
shader10 = "shaders/bloom_pass_3.slang"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur_y.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "clamp_to_edge"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "false"
|
||||
alias10 = "bloom_pass_3"
|
||||
alias10 = "reflected_blurred_pass2"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_4.slang"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_final"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/ambi_push_pass.slang"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "mirrored_repeat"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "ambi_push_pass"
|
||||
float_framebuffer12 = "true"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "1.000000"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "1.000000"
|
||||
shader13 = "shaders/ambi_pre_pass.slang"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_border"
|
||||
mipmap_input13 = "true"
|
||||
alias13 = "ambi_pre_pass1"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/ambi_temporal_pass.slang"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "clamp_to_border"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "ambi_temporal_pass"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/isrotated.slang"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "mirrored_repeat"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "isrotated_pass"
|
||||
float_framebuffer15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.100000"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.100000"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
@ -190,56 +190,59 @@ DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.400000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
DO_FXAA = "1.000000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
SAT_BLEED_SIZE_LEFT = "3.000000"
|
||||
SAT_BLEED_SIZE_RIGHT = "3.000000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
OFFSET_STRENGTH = "1.000000"
|
||||
SHIFT_R = "-20.000000"
|
||||
SHIFT_G = "1.000000"
|
||||
SHIFT_B = "20.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_POWER = "1.600000"
|
||||
IN_GLOW_W = "0.950000"
|
||||
IN_GLOW_H = "0.950000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_SPREAD = "2.000000"
|
||||
IN_GLOW_W = "1.000000"
|
||||
IN_GLOW_H = "1.000000"
|
||||
IN_GLOW_BIAS = "0.000000"
|
||||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.500000"
|
||||
DARKLINES_STRENGTH = "0.800000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.520000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINE_COMPENSATION = "0.200000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.500000"
|
||||
BLOOM_MIX = "0.150000"
|
||||
BLOOM_SIZE = "1.500000"
|
||||
BLOOM_POWER = "8.000000"
|
||||
BLOOM_GAMMA_OUT = "2.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.160000"
|
||||
BEZEL_IMAGE_BORDER = "1.020000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "1.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
S_POSITION = "194.000000"
|
||||
textures = "monitor_body;bg_under;bg_over"
|
||||
monitor_body = "textures/monitor_body.png"
|
||||
monitor_body_linear = "true"
|
||||
monitor_body_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_mipmap = "true"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
@ -248,3 +251,7 @@ bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
||||
|
Loading…
Reference in New Issue
Block a user