From 61dcae3c819fbbadf9327c555a34db7fbe0abc22 Mon Sep 17 00:00:00 2001 From: HyperspaceMadness Date: Mon, 10 Oct 2022 16:26:21 -0400 Subject: [PATCH] Mega Bezel V1.4.3_2022-10-09 --- ...0__SMOOTH-ADV-SCREEN-ONLY__GDV-NTSC.slangp | 337 +++++++++++ ...MBZ__0__SMOOTH-ADV-SCREEN-ONLY__GDV.slangp | 312 ++++++++++ ...OOTH-ADV-SCREEN-ONLY__MEGATRON-NTSC.slangp | 319 ++++++++++ ...0__SMOOTH-ADV-SCREEN-ONLY__MEGATRON.slangp | 303 ++++++++++ .../MBZ__1__ADV-SUPER-XBR__GDV-NTSC.slangp | 18 +- .../MBZ__1__ADV-SUPER-XBR__GDV.slangp | 18 +- ...Z__2__ADV-GLASS-SUPER-XBR__GDV-NTSC.slangp | 18 +- .../MBZ__2__ADV-GLASS-SUPER-XBR__GDV.slangp | 18 +- ..._ADV-NO-REFLECT-SUPER-XBR__GDV-NTSC.slangp | 18 +- ...Z__2__ADV-NO-REFLECT-SUPER-XBR__GDV.slangp | 18 +- ...ADV-SCREEN-ONLY-SUPER-XBR__GDV-NTSC.slangp | 382 ++++++++++++ ...__2__ADV-SCREEN-ONLY-SUPER-XBR__GDV.slangp | 357 +++++++++++ .../MBZ__2__ADV-SCREEN-ONLY__GDV-NTSC.slangp | 292 +++++++++ .../MBZ__2__ADV-SCREEN-ONLY__GDV.slangp | 267 +++++++++ ...__2__ADV-SCREEN-ONLY__MEGATRON-NTSC.slangp | 274 +++++++++ .../MBZ__2__ADV-SCREEN-ONLY__MEGATRON.slangp | 258 ++++++++ ...Z__3__STD-GLASS-SUPER-XBR__GDV-NTSC.slangp | 18 +- .../MBZ__3__STD-GLASS-SUPER-XBR__GDV.slangp | 18 +- .../MBZ__3__STD-SUPER-XBR__GDV-NTSC.slangp | 18 +- .../MBZ__3__STD-SUPER-XBR__GDV.slangp | 18 +- ..._STD-NO-REFLECT-SUPER-XBR__GDV-NTSC.slangp | 18 +- ...Z__4__STD-NO-REFLECT-SUPER-XBR__GDV.slangp | 18 +- ...STD-SCREEN-ONLY-SUPER-XBR__GDV-NTSC.slangp | 380 ++++++++++++ ...__4__STD-SCREEN-ONLY-SUPER-XBR__GDV.slangp | 341 +++++++++++ .../MBZ__4__STD-SCREEN-ONLY__EASYMODE.slangp | 206 +++++++ ...__4__STD-SCREEN-ONLY__GDV-MINI-NTSC.slangp | 225 +++++++ .../MBZ__4__STD-SCREEN-ONLY__GDV-MINI.slangp | 195 ++++++ .../MBZ__4__STD-SCREEN-ONLY__GDV-NTSC.slangp | 271 +++++++++ .../MBZ__4__STD-SCREEN-ONLY__GDV.slangp | 232 +++++++ .../MBZ__4__STD-SCREEN-ONLY__LCD-GRID.slangp | 192 ++++++ ...__4__STD-SCREEN-ONLY__MEGATRON-NTSC.slangp | 253 ++++++++ .../MBZ__4__STD-SCREEN-ONLY__MEGATRON.slangp | 223 +++++++ .../MBZ__5__POTATO-SUPER-XBR__GDV-NTSC.slangp | 18 +- .../MBZ__5__POTATO-SUPER-XBR__GDV.slangp | 18 +- .../Variations/Guest-Slotmask-4K.slangp | 44 ++ ...-No-Bezel__0__SMOOTH-ADV-NO-REFLECT.slangp | 20 - ...zel__0__SMOOTH-ADV-NO-REFLECT__NTSC.slangp | 20 - ...t-Scale-No-Bezel__2__ADV-NO-REFLECT.slangp | 19 - ...e-No-Bezel__2__ADV-NO-REFLECT__NTSC.slangp | 19 - ...t-Scale-No-Bezel__4__STD-NO-REFLECT.slangp | 19 - ...e-No-Bezel__4__STD-NO-REFLECT__NTSC.slangp | 19 - ...Int-Scale-No-Bezel__5__POTATO__NTSC.slangp | 19 - ..._5__POTATO.slangp => Max-Int-Scale.params} | 3 +- ...nt-Scale__0__SMOOTH-ADV-SCREEN-ONLY.slangp | 3 + ...le__0__SMOOTH-ADV-SCREEN-ONLY__NTSC.slangp | 3 + ...Scale__2__ADV-SCREEN-ONLY-SUPER-XBR.slangp | 2 + ..._2__ADV-SCREEN-ONLY-SUPER-XBR__NTSC.slangp | 2 + .../Max-Int-Scale__2__ADV-SCREEN-ONLY.slangp | 2 + ...Int-Scale__2__ADV-SCREEN-ONLY__NTSC.slangp | 2 + ...Scale__4__STD-SCREEN-ONLY-SUPER-XBR.slangp | 2 + ..._4__STD-SCREEN-ONLY-SUPER-XBR__NTSC.slangp | 2 + .../Max-Int-Scale__4__STD-SCREEN-ONLY.slangp | 2 + ...Int-Scale__4__STD-SCREEN-ONLY__NTSC.slangp | 2 + .../Max-Int-Scale__5__POTATO-SUPER-XBR.slangp | 2 + ...nt-Scale__5__POTATO-SUPER-XBR__NTSC.slangp | 2 + .../Max-Int-Scale__5__POTATO.slangp | 2 + .../Max-Int-Scale__5__POTATO__NTSC.slangp | 2 + bezel/Mega_Bezel/README.md | 2 +- .../resource/docs/all-parameters.params | 276 +++++++++ .../docs/set-all-textures-empty.params | 24 + bezel/Mega_Bezel/shaders/ShaderTodo.txt | 18 +- .../shaders/base/add-params-all.slang | 1 + .../shaders/base/add-params-glass.slang | 1 + .../shaders/base/add-params-no-reflect.slang | 1 + .../shaders/base/add-params-potato.slang | 1 + .../shaders/base/bezel-images-over-crt.slang | 1 + .../shaders/base/bezel-images-under-crt.slang | 1 + .../Mega_Bezel/shaders/base/bezel-images.inc | 15 +- .../shaders/base/blur-outside-screen.inc | 4 +- .../shaders/base/cache-info-all-params.slang | 1 + .../base/cache-info-no-reflect-params.slang | 1 + .../base/cache-info-screen-scale-params.slang | 1 + bezel/Mega_Bezel/shaders/base/cache-info.inc | 8 +- .../shaders/base/combine-passes.inc | 16 +- .../shaders/base/common/base-functions.inc | 324 ++++++++++ .../base/common/common-functions-bezel.inc | 45 +- .../shaders/base/common/common-functions.inc | 423 +++---------- .../base/common/globals-and-all-params.inc | 3 +- .../base/common/globals-and-bezel-params.inc | 3 +- .../base/common/globals-and-glass-params.inc | 3 +- .../globals-and-image-layers-params.inc | 3 +- .../base/common/globals-and-potato-params.inc | 3 +- .../common/globals-and-reflection-params.inc | 3 +- .../globals-and-screen-scale-params.inc | 3 +- .../shaders/base/common/globals.inc | 11 +- .../shaders/base/common/helper-functions.inc | 9 + .../base/common/params-0-screen-scale.inc | 42 +- .../base/common/params-4-image-layers.inc | 2 +- .../Mega_Bezel/shaders/base/delinearize.slang | 2 +- .../shaders/base/intro-potato.slang | 2 + bezel/Mega_Bezel/shaders/base/intro.inc | 38 +- bezel/Mega_Bezel/shaders/base/intro.slang | 2 + .../shaders/base/linearize-crt.slang | 1 + bezel/Mega_Bezel/shaders/base/linearize.slang | 6 + .../shaders/base/post-crt-prep-glass.slang | 1 + .../base/post-crt-prep-image-layers.slang | 1 + .../base/post-crt-prep-no-reflect.slang | 1 + .../shaders/base/post-crt-prep-potato.slang | 10 +- .../Mega_Bezel/shaders/base/post-crt-prep.inc | 117 ++-- .../shaders/base/post-crt-prep.slang | 1 + .../shaders/base/reflection-glass.slang | 1 + bezel/Mega_Bezel/shaders/base/reflection.inc | 22 +- .../Mega_Bezel/shaders/base/reflection.slang | 1 + .../shaders/base/text-adv-glass.slang | 1 + .../shaders/base/text-adv-no-reflect.slang | 1 + bezel/Mega_Bezel/shaders/base/text-adv.slang | 1 + bezel/Mega_Bezel/shaders/base/text-lib.inc | 300 --------- .../Mega_Bezel/shaders/base/text-potato.slang | 1 + .../shaders/base/text-resolution.inc | 468 --------------- .../shaders/base/text-std-glass.slang | 1 + .../shaders/base/text-std-no-reflect.slang | 1 + bezel/Mega_Bezel/shaders/base/text-std.slang | 1 + bezel/Mega_Bezel/shaders/base/text.inc | 567 +++++++++++++++++- .../dedither-gamma-prep-1-before.slang | 7 +- .../dedither-gamma-prep-2-after.slang | 7 +- .../Mega_Bezel/shaders/dogway/hsm-grade.slang | 4 +- ...m-crt-easymode-halation-basic-border.slang | 1 + .../easymode/hsm-crt-easymode-halation.inc | 3 +- .../easymode/hsm-crt-easymode-halation.slang | 1 + .../hsm-pre-shaders-afterglow-grade.slang | 3 +- .../hsm-crt-dariusg-gdv-mini-potato.slang | 1 + .../guest/hsm-crt-dariusg-gdv-mini.inc | 3 +- .../guest/hsm-crt-dariusg-gdv-mini.slang | 1 + .../hsm-crt-guest-advanced-no-reflect.slang | 1 + .../hsm-crt-guest-advanced-ntsc-pass1.inc | 3 +- .../hsm-crt-guest-advanced-ntsc-pass1.slang | 1 + ...guest-advanced-ntsc-pass2-no-reflect.slang | 1 + ...crt-guest-advanced-ntsc-pass2-potato.slang | 1 + .../hsm-crt-guest-advanced-ntsc-pass2.inc | 3 +- .../hsm-crt-guest-advanced-ntsc-pass2.slang | 1 + .../guest/hsm-crt-guest-advanced-ntsc.slang | 1 + .../guest/hsm-crt-guest-advanced-potato.slang | 1 + .../shaders/guest/hsm-crt-guest-advanced.inc | 3 +- .../guest/hsm-crt-guest-advanced.slang | 1 + .../guest/hsm-deconvergence-no-reflect.slang | 1 + .../guest/hsm-deconvergence-potato.slang | 1 + .../shaders/guest/hsm-deconvergence.inc | 3 +- .../shaders/guest/hsm-deconvergence.slang | 1 + .../guest/hsm-interlace-and-linearize.slang | 4 +- .../crt-hyllian-sinc-curvature.slang | 3 +- .../crt-super-xbr/custom-bicubic-x.slang | 2 +- .../crt-super-xbr/custom-bicubic-y.slang | 2 +- .../crt-super-xbr/custom-resolve.slang | 2 +- .../hsm-lcd-grid-v2-basic-border.slang | 1 + .../shaders/lcd-cgwg/hsm-lcd-grid-v2.inc | 3 +- .../shaders/lcd-cgwg/hsm-lcd-grid-v2.slang | 1 + .../crt-sony-megatron-no-reflect.slang | 1 + .../megatron/crt-sony-megatron-potato.slang | 1 + .../shaders/megatron/crt-sony-megatron.inc | 3 +- .../shaders/megatron/crt-sony-megatron.slang | 1 + .../shaders/newpixie/hsm-newpixie-crt.slang | 3 +- 151 files changed, 7376 insertions(+), 1585 deletions(-) create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__GDV-NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__GDV.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__MEGATRON-NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__MEGATRON.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY-SUPER-XBR__GDV-NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY-SUPER-XBR__GDV.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__GDV-NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__GDV.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__MEGATRON-NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__MEGATRON.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY-SUPER-XBR__GDV-NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY-SUPER-XBR__GDV.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__EASYMODE.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV-MINI-NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV-MINI.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV-NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__LCD-GRID.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__MEGATRON-NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__MEGATRON.slangp create mode 100644 bezel/Mega_Bezel/Presets/Variations/Guest-Slotmask-4K.slangp delete mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__0__SMOOTH-ADV-NO-REFLECT.slangp delete mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__0__SMOOTH-ADV-NO-REFLECT__NTSC.slangp delete mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__2__ADV-NO-REFLECT.slangp delete mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__2__ADV-NO-REFLECT__NTSC.slangp delete mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__4__STD-NO-REFLECT.slangp delete mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__4__STD-NO-REFLECT__NTSC.slangp delete mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__5__POTATO__NTSC.slangp rename bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/{Max-Int-Scale-No-Bezel__5__POTATO.slangp => Max-Int-Scale.params} (90%) create mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__0__SMOOTH-ADV-SCREEN-ONLY.slangp create mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__0__SMOOTH-ADV-SCREEN-ONLY__NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY-SUPER-XBR.slangp create mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY-SUPER-XBR__NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY.slangp create mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY__NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY-SUPER-XBR.slangp create mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY-SUPER-XBR__NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY.slangp create mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY__NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO-SUPER-XBR.slangp create mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO-SUPER-XBR__NTSC.slangp create mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO.slangp create mode 100644 bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO__NTSC.slangp create mode 100644 bezel/Mega_Bezel/resource/docs/all-parameters.params create mode 100644 bezel/Mega_Bezel/resource/docs/set-all-textures-empty.params create mode 100644 bezel/Mega_Bezel/shaders/base/common/base-functions.inc delete mode 100644 bezel/Mega_Bezel/shaders/base/text-lib.inc delete mode 100644 bezel/Mega_Bezel/shaders/base/text-resolution.inc diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__GDV-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__GDV-NTSC.slangp new file mode 100644 index 0000000..fbe4056 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__GDV-NTSC.slangp @@ -0,0 +1,337 @@ +shaders = 44 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-adv-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/dedither/dedither-gamma-prep-1-before.slang +alias6 = LinearGamma + +shader7 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass1.slang +shader8 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass2.slang +shader9 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass3.slang +alias9 = "PreMdaptPass" + +// De-Dithering - Mdapt +shader10 = ../../shaders/mdapt/hsm-mdapt-pass0.slang +shader11 = ../../shaders/mdapt/hsm-mdapt-pass1.slang +shader12 = ../../shaders/mdapt/hsm-mdapt-pass2.slang +shader13 = ../../shaders/mdapt/hsm-mdapt-pass3.slang +shader14 = ../../shaders/mdapt/hsm-mdapt-pass4.slang + +shader15 = ../../shaders/dedither/dedither-gamma-prep-2-after.slang + +shader16 = ../../shaders/ps1dither/hsm-PS1-Undither-BoxBlur.slang + +shader17 = ../../shaders/guest/extras/hsm-sharpsmoother.slang + +shader18 = ../../shaders/base/stock.slang +alias18 = refpass + +shader19 = ../../shaders/scalefx/hsm-scalefx-pass0.slang +filter_linear19 = false +scale_type19 = source +scale19 = 1.0 +float_framebuffer19 = true +alias19 = scalefx_pass0 + +shader20 = ../../shaders/scalefx/hsm-scalefx-pass1.slang +filter_linear20 = false +scale_type20 = source +scale20 = 1.0 +float_framebuffer12 = true + +shader21 = ../../shaders/scalefx/hsm-scalefx-pass2.slang +filter_linear21 = false +scale_type21 = source +scale21 = 1.0 + +shader22 = ../../shaders/scalefx/hsm-scalefx-pass3.slang +filter_linear22 = false +scale_type22 = source +scale22 = 1.0 + +shader23 = ../../shaders/scalefx/hsm-scalefx-pass4.slang +filter_linear23 = false +scale_type23 = source +scale23 = 3 + +shader24 = ../../shaders/base/stock.slang +alias24 = "PreCRTPass" + +shader25 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear25 = true +scale_type25 = source +scale25 = 1.0 +alias25 = "AfterglowPass" + +shader26 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear26 = true +scale_type26 = source +mipmap_input26 = true +scale26 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader27 = ../../shaders/dogway/hsm-grade.slang +filter_linear27 = true +scale_type27 = source +scale27 = 1.0 + +shader28 = ../../shaders/base/stock.slang +alias28 = "PrePass0" + +shader29 = ../../shaders/guest/ntsc/hsm-ntsc-pass1.slang +filter_linear29 = false +float_framebuffer29 = true +scale_type_x29 = source +scale_type_y29 = source +scale_x29 = 4.0 +scale_y29 = 1.0 +frame_count_mod29 = 2 +alias29 = NPass1 + +shader30 = ../../shaders/guest/ntsc/hsm-ntsc-pass2.slang +float_framebuffer30 = true +filter_linear30 = true +scale_type30 = source +scale_x30 = 0.5 +scale_y30 = 1.0 + +shader31 = ../../shaders/guest/ntsc/hsm-ntsc-pass3.slang +filter_linear31 = true +scale_type31 = source +scale_x31 = 1.0 +scale_y31 = 1.0 + +shader32 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear32 = true +scale_type32 = source +scale_x32 = 1.0 +scale_y32 = 1.0 + +shader33 = ../../shaders/base/stock.slang +filter_linear33 = true +scale_type33 = source +scale_x33 = 1.0 +scale_y33 = 1.0 +alias33 = "PrePass" +mipmap_input33 = true + +shader34 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear34 = true +scale_type34 = source +scale34 = 1.0 +mipmap_input34 = true +alias34 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader35 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear35 = true +scale_type35 = source +scale35 = 1.0 +float_framebuffer35 = true +alias35 = "LinearizePass" + +shader36 = ../../shaders/guest/hsm-crt-guest-advanced-ntsc-pass1.slang +filter_linear36 = true +scale_type_x36 = viewport +scale_x36 = 1.0 +scale_type_y36 = source +scale_y36 = 1.0 +float_framebuffer36 = true +alias36 = Pass1 + +shader37 = ../../shaders/guest/hsm-gaussian_horizontal.slang +filter_linear37 = true +scale_type_x37 = absolute +scale_x37 = 640.0 +scale_type_y37 = source +scale_y37 = 1.0 +float_framebuffer37 = true + +shader38 = ../../shaders/guest/hsm-gaussian_vertical.slang +filter_linear38 = true +scale_type_x38 = absolute +scale_x38 = 640.0 +scale_type_y38 = absolute +scale_y38 = 480.0 +float_framebuffer38 = true +alias38 = GlowPass + +shader39 = ../../shaders/guest/hsm-bloom_horizontal.slang +filter_linear39 = true +scale_type_x39 = absolute +scale_x39 = 640.0 +scale_type_y39 = absolute +scale_y39 = 480.0 +float_framebuffer39 = true + +shader40 = ../../shaders/guest/hsm-bloom_vertical.slang +filter_linear40 = true +scale_type_x40 = absolute +scale_x40 = 640.0 +scale_type_y40 = absolute +scale_y40 = 480.0 +float_framebuffer40 = true +alias40 = BloomPass + +shader41 = ../../shaders/guest/hsm-crt-guest-advanced-ntsc-pass2-no-reflect.slang +filter_linear41 = true +float_framebuffer41 = true +scale_type41 = viewport +scale_x41 = 1.0 +scale_y41 = 1.0 + +shader42 = ../../shaders/guest/hsm-deconvergence.slang +filter_linear42 = true +scale_type42 = viewport +scale_x42 = 1.0 +scale_y42 = 1.0 + +shader43 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias43 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// SMOOTH-ADV +HSM_DEDITHER_MODE = 1 + +HSM_SCALEFX_ON = 1 + +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 125 +HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 +HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 + +ntsc_scale = 0.4 + +shadowMask = 3 + +// NTSC Parameters +GAMMA_INPUT = 2.0 +gamma_out = 1.95 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__GDV.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__GDV.slangp new file mode 100644 index 0000000..fad4387 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__GDV.slangp @@ -0,0 +1,312 @@ +shaders = 41 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-adv-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/dedither/dedither-gamma-prep-1-before.slang +alias6 = LinearGamma + +shader7 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass1.slang +shader8 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass2.slang +shader9 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass3.slang +alias9 = "PreMdaptPass" + +// De-Dithering - Mdapt +shader10 = ../../shaders/mdapt/hsm-mdapt-pass0.slang +shader11 = ../../shaders/mdapt/hsm-mdapt-pass1.slang +shader12 = ../../shaders/mdapt/hsm-mdapt-pass2.slang +shader13 = ../../shaders/mdapt/hsm-mdapt-pass3.slang +shader14 = ../../shaders/mdapt/hsm-mdapt-pass4.slang + +shader15 = ../../shaders/dedither/dedither-gamma-prep-2-after.slang + +shader16 = ../../shaders/ps1dither/hsm-PS1-Undither-BoxBlur.slang + +shader17 = ../../shaders/guest/extras/hsm-sharpsmoother.slang + +shader18 = ../../shaders/base/stock.slang +alias18 = refpass + +shader19 = ../../shaders/scalefx/hsm-scalefx-pass0.slang +filter_linear19 = false +scale_type19 = source +scale19 = 1.0 +float_framebuffer19 = true +alias19 = scalefx_pass0 + +shader20 = ../../shaders/scalefx/hsm-scalefx-pass1.slang +filter_linear20 = false +scale_type20 = source +scale20 = 1.0 +float_framebuffer12 = true + +shader21 = ../../shaders/scalefx/hsm-scalefx-pass2.slang +filter_linear21 = false +scale_type21 = source +scale21 = 1.0 + +shader22 = ../../shaders/scalefx/hsm-scalefx-pass3.slang +filter_linear22 = false +scale_type22 = source +scale22 = 1.0 + +shader23 = ../../shaders/scalefx/hsm-scalefx-pass4.slang +filter_linear23 = false +scale_type23 = source +scale23 = 3 + +// GTU TV Processing +shader24 = ../../shaders/gtu/hsm-gtu-pass1.slang +scale_type24 = source +scale24 = 1.0 +float_framebuffer24 = true + +shader25 = ../../shaders/gtu/hsm-gtu-pass2.slang +scale_type_x25 = source +scale_x25 = 1.0 +scale_type_y25 = source +scale_y25 = 1.0 +filter_linear25 = false +float_framebuffer25 = true + +shader26 = ../../shaders/base/stock.slang +alias26 = "PreCRTPass" + +shader27 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear27 = true +scale_type27 = source +scale27 = 1.0 +alias27 = "AfterglowPass" + +shader28 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear28 = true +scale_type28 = source +mipmap_input28 = true +scale28 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader29 = ../../shaders/dogway/hsm-grade.slang +filter_linear29 = true +scale_type29 = source +scale29 = 1.0 + +shader30 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear30 = true +scale_type30 = source +scale_x30 = 1.0 +scale_y30 = 1.0 + +shader31 = ../../shaders/base/stock.slang +filter_linear31 = true +scale_type31 = source +scale_x31 = 1.0 +scale_y31 = 1.0 +alias31 = "PrePass" +mipmap_input31 = true + +shader32 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear32 = true +scale_type32 = source +scale32 = 1.0 +mipmap_input32 = true +alias32 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader33 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear33 = true +scale_type33 = source +scale33 = 1.0 +float_framebuffer33 = true +alias33 = "LinearizePass" + +shader34 = ../../shaders/guest/hsm-gaussian_horizontal.slang +filter_linear34 = true +scale_type_x34 = absolute +scale_x34 = 800.0 +scale_type_y34 = source +scale_y34 = 1.0 +float_framebuffer34 = true + +shader35 = ../../shaders/guest/hsm-gaussian_vertical.slang +filter_linear35 = true +scale_type_x35 = absolute +scale_x35 = 800.0 +scale_type_y35 = absolute +scale_y35 = 600.0 +float_framebuffer35 = true +alias35 = GlowPass + +shader36 = ../../shaders/guest/hsm-bloom_horizontal.slang +filter_linear36 = true +scale_type_x36 = absolute +scale_x36 = 800.0 +scale_type_y36 = absolute +scale_y36 = 600.0 +float_framebuffer36 = true + +shader37 = ../../shaders/guest/hsm-bloom_vertical.slang +filter_linear37 = true +scale_type_x37 = source +scale_x37 = 1.0 +scale_type_y37 = source +scale_y37 = 1.0 +float_framebuffer37 = true +alias37 = BloomPass + +shader38 = ../../shaders/guest/hsm-crt-guest-advanced-no-reflect.slang +filter_linear38 = true +float_framebuffer38 = true +scale_type38 = viewport +scale_x38 = 1.0 +scale_y38 = 1.0 + +shader39 = ../../shaders/guest/hsm-deconvergence-no-reflect.slang +filter_linear39 = true +scale_type39 = viewport +scale_x39 = 1.0 +scale_y39 = 1.0 + +shader40 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias40 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// SMOOTH-ADV +HSM_DEDITHER_MODE = 1 + +HSM_SCALEFX_ON = 1 + +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 125 +HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 +HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 + +ntsc_scale = 0.4 + +shadowMask = 3 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__MEGATRON-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__MEGATRON-NTSC.slangp new file mode 100644 index 0000000..7beae4a --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__MEGATRON-NTSC.slangp @@ -0,0 +1,319 @@ +shaders = 40 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-adv-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/dedither/dedither-gamma-prep-1-before.slang +alias6 = LinearGamma + +shader7 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass1.slang +shader8 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass2.slang +shader9 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass3.slang +alias9 = "PreMdaptPass" + +// De-Dithering - Mdapt +shader10 = ../../shaders/mdapt/hsm-mdapt-pass0.slang +shader11 = ../../shaders/mdapt/hsm-mdapt-pass1.slang +shader12 = ../../shaders/mdapt/hsm-mdapt-pass2.slang +shader13 = ../../shaders/mdapt/hsm-mdapt-pass3.slang +shader14 = ../../shaders/mdapt/hsm-mdapt-pass4.slang + +shader15 = ../../shaders/dedither/dedither-gamma-prep-2-after.slang + +shader16 = ../../shaders/ps1dither/hsm-PS1-Undither-BoxBlur.slang + +shader17 = ../../shaders/guest/extras/hsm-sharpsmoother.slang + +shader18 = ../../shaders/base/stock.slang +alias18 = refpass + +shader19 = ../../shaders/scalefx/hsm-scalefx-pass0.slang +filter_linear19 = false +scale_type19 = source +scale19 = 1.0 +float_framebuffer19 = true +alias19 = scalefx_pass0 + +shader20 = ../../shaders/scalefx/hsm-scalefx-pass1.slang +filter_linear20 = false +scale_type20 = source +scale20 = 1.0 +float_framebuffer12 = true + +shader21 = ../../shaders/scalefx/hsm-scalefx-pass2.slang +filter_linear21 = false +scale_type21 = source +scale21 = 1.0 + +shader22 = ../../shaders/scalefx/hsm-scalefx-pass3.slang +filter_linear22 = false +scale_type22 = source +scale22 = 1.0 + +shader23 = ../../shaders/scalefx/hsm-scalefx-pass4.slang +filter_linear23 = false +scale_type23 = source +scale23 = 3 + +shader24 = ../../shaders/base/stock.slang +alias24 = "PreCRTPass" + +shader25 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear25 = true +scale_type25 = source +scale25 = 1.0 +alias25 = "AfterglowPass" + +shader26 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear26 = true +scale_type26 = source +mipmap_input26 = true +scale26 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader27 = ../../shaders/dogway/hsm-grade.slang +filter_linear27 = true +scale_type27 = source +scale27 = 1.0 + +shader28 = ../../shaders/base/stock.slang +alias28 = "PrePass0" + +shader29 = ../../shaders/guest/ntsc/hsm-ntsc-pass1.slang +filter_linear29 = false +float_framebuffer29 = true +scale_type_x29 = source +scale_type_y29 = source +scale_x29 = 4.0 +scale_y29 = 1.0 +frame_count_mod29 = 2 +alias29 = NPass1 + +shader30 = ../../shaders/guest/ntsc/hsm-ntsc-pass2.slang +float_framebuffer30 = true +filter_linear30 = true +scale_type30 = source +scale_x30 = 0.5 +scale_y30 = 1.0 + +shader31 = ../../shaders/guest/ntsc/hsm-ntsc-pass3.slang +filter_linear31 = true +scale_type31 = source +scale_x31 = 1.0 +scale_y31 = 1.0 + +shader32 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear32 = true +scale_type32 = source +scale_x32 = 1.0 +scale_y32 = 1.0 + +shader33 = ../../shaders/base/stock.slang +filter_linear33 = true +scale_type33 = source +scale_x33 = 1.0 +scale_y33 = 1.0 +alias33 = "PrePass" +mipmap_input33 = true + +shader34 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear34 = true +scale_type34 = source +scale34 = 1.0 +mipmap_input34 = true +alias34 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader35 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear35 = true +scale_type35 = source +scale35 = 1.0 +float_framebuffer35 = true +alias35 = "LinearizePass" +feedback_pass = "0" + +// Sony Megatron Colour Video Monitor by Major Pain The Cactus +shader36 = "../../shaders/megatron/crt-sony-megatron-source-pass.slang" +filter_linear36 = "false" +scale_type36 = "source" +scale36 = "1.0" +wrap_mode36 = "clamp_to_border" +mipmap_input36 = "false" +alias36 = "SourceSDR" +float_framebuffer36 = "true" + +shader37 = "../../shaders/megatron/crt-sony-megatron-hdr-pass.slang" +filter_linear37 = "false" +scale_type37 = "source" +scale37 = "1.0" +wrap_mode37 = "clamp_to_border" +mipmap_input37 = "false" +alias37 = "SourceHDR" +float_framebuffer37 = "true" + +shader38 = "../../shaders/megatron/crt-sony-megatron-no-reflect.slang" +filter_linear38 = "false" +wrap_mode38 = "clamp_to_border" +mipmap_input38 = "false" +alias38 = "" +float_framebuffer38 = "false" +srgb_framebuffer38 = "false" +scale_type38 = "viewport" + +shader39 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias39 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// SMOOTH-ADV +HSM_DEDITHER_MODE = 1 + +HSM_SCALEFX_ON = 1 + +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 125 +HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 +HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 + +ntsc_scale = 0.4 + +shadowMask = 3 + +// Sony Megatron Color Monitor +hcrt_hdr = "0.000000" +hcrt_gamma_in = "2.020000" + +HSM_INT_SCALE_MODE = "1.000000" +HSM_CRT_CURVATURE_SCALE = "0.000000" +HSM_GLOBAL_GRAPHICS_BRIGHTNESS = "40.000000" +HSM_REFLECT_GLOBAL_AMOUNT = "300.000000" + +// NTSC Parameters +GAMMA_INPUT = 2.0 +gamma_out = 1.95 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__MEGATRON.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__MEGATRON.slangp new file mode 100644 index 0000000..2f7e47b --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__MEGATRON.slangp @@ -0,0 +1,303 @@ +shaders = 38 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-adv-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/dedither/dedither-gamma-prep-1-before.slang +alias6 = LinearGamma + +shader7 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass1.slang +shader8 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass2.slang +shader9 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass3.slang +alias9 = "PreMdaptPass" + +// De-Dithering - Mdapt +shader10 = ../../shaders/mdapt/hsm-mdapt-pass0.slang +shader11 = ../../shaders/mdapt/hsm-mdapt-pass1.slang +shader12 = ../../shaders/mdapt/hsm-mdapt-pass2.slang +shader13 = ../../shaders/mdapt/hsm-mdapt-pass3.slang +shader14 = ../../shaders/mdapt/hsm-mdapt-pass4.slang + +shader15 = ../../shaders/dedither/dedither-gamma-prep-2-after.slang + +shader16 = ../../shaders/ps1dither/hsm-PS1-Undither-BoxBlur.slang + +shader17 = ../../shaders/guest/extras/hsm-sharpsmoother.slang + +shader18 = ../../shaders/base/stock.slang +alias18 = refpass + +shader19 = ../../shaders/scalefx/hsm-scalefx-pass0.slang +filter_linear19 = false +scale_type19 = source +scale19 = 1.0 +float_framebuffer19 = true +alias19 = scalefx_pass0 + +shader20 = ../../shaders/scalefx/hsm-scalefx-pass1.slang +filter_linear20 = false +scale_type20 = source +scale20 = 1.0 +float_framebuffer12 = true + +shader21 = ../../shaders/scalefx/hsm-scalefx-pass2.slang +filter_linear21 = false +scale_type21 = source +scale21 = 1.0 + +shader22 = ../../shaders/scalefx/hsm-scalefx-pass3.slang +filter_linear22 = false +scale_type22 = source +scale22 = 1.0 + +shader23 = ../../shaders/scalefx/hsm-scalefx-pass4.slang +filter_linear23 = false +scale_type23 = source +scale23 = 3 + +// GTU TV Processing +shader24 = ../../shaders/gtu/hsm-gtu-pass1.slang +scale_type24 = source +scale24 = 1.0 +float_framebuffer24 = true + +shader25 = ../../shaders/gtu/hsm-gtu-pass2.slang +scale_type_x25 = source +scale_x25 = 1.0 +scale_type_y25 = source +scale_y25 = 1.0 +filter_linear25 = false +float_framebuffer25 = true + +shader26 = ../../shaders/base/stock.slang +alias26 = "PreCRTPass" + +shader27 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear27 = true +scale_type27 = source +scale27 = 1.0 +alias27 = "AfterglowPass" + +shader28 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear28 = true +scale_type28 = source +mipmap_input28 = true +scale28 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader29 = ../../shaders/dogway/hsm-grade.slang +filter_linear29 = true +scale_type29 = source +scale29 = 1.0 + +shader30 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear30 = true +scale_type30 = source +scale_x30 = 1.0 +scale_y30 = 1.0 + +shader31 = ../../shaders/base/stock.slang +filter_linear31 = true +scale_type31 = source +scale_x31 = 1.0 +scale_y31 = 1.0 +alias31 = "PrePass" +mipmap_input31 = true + +shader32 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear32 = true +scale_type32 = source +scale32 = 1.0 +mipmap_input32 = true +alias32 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader33 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear33 = true +scale_type33 = source +scale33 = 1.0 +float_framebuffer33 = true +alias33 = "LinearizePass" +feedback_pass = "0" + +// Sony Megatron Colour Video Monitor by Major Pain The Cactus +shader34 = "../../shaders/megatron/crt-sony-megatron-source-pass.slang" +filter_linear34 = "false" +scale_type34 = "source" +scale34 = "1.0" +wrap_mode34 = "clamp_to_border" +mipmap_input34 = "false" +alias34 = "SourceSDR" +float_framebuffer34 = "true" + +shader35 = "../../shaders/megatron/crt-sony-megatron-hdr-pass.slang" +filter_linear35 = "false" +scale_type35 = "source" +scale35 = "1.0" +wrap_mode35 = "clamp_to_border" +mipmap_input35 = "false" +alias35 = "SourceHDR" +float_framebuffer35 = "true" + +shader36 = "../../shaders/megatron/crt-sony-megatron-no-reflect.slang" +filter_linear36 = "false" +wrap_mode36 = "clamp_to_border" +mipmap_input36 = "false" +alias36 = "" +float_framebuffer36 = "false" +srgb_framebuffer36 = "false" +scale_type36 = "viewport" + +shader37 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias37 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// SMOOTH-ADV +HSM_DEDITHER_MODE = 1 + +HSM_SCALEFX_ON = 1 + +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 125 +HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 +HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 + +ntsc_scale = 0.4 + +shadowMask = 3 + +// Sony Megatron Color Monitor +hcrt_hdr = "0.000000" +hcrt_gamma_in = "2.020000" + +HSM_INT_SCALE_MODE = "1.000000" +HSM_CRT_CURVATURE_SCALE = "0.000000" +HSM_GLOBAL_GRAPHICS_BRIGHTNESS = "40.000000" +HSM_REFLECT_GLOBAL_AMOUNT = "300.000000" diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__1__ADV-SUPER-XBR__GDV-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__1__ADV-SUPER-XBR__GDV-NTSC.slangp index c6e758a..8a3b4e6 100644 --- a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__1__ADV-SUPER-XBR__GDV-NTSC.slangp +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__1__ADV-SUPER-XBR__GDV-NTSC.slangp @@ -439,17 +439,17 @@ SUPERXBR_ON = 1 ntsc_scale = 0.55 -SHARPEN = 0 +SHARPEN = 0.5 -HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 -gamma_c = 0.9 -gsl = -1 -scanline1 = 3 -shadowMask = 3 -maskDark = 0.4 -maskLight = 1.2 -mask_gamma = 4 +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__1__ADV-SUPER-XBR__GDV.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__1__ADV-SUPER-XBR__GDV.slangp index b04f5b9..00acaf5 100644 --- a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__1__ADV-SUPER-XBR__GDV.slangp +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__1__ADV-SUPER-XBR__GDV.slangp @@ -414,17 +414,17 @@ SUPERXBR_ON = 1 ntsc_scale = 0.55 -SHARPEN = 0 +SHARPEN = 0.5 -HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 -gamma_c = 0.9 -gsl = -1 -scanline1 = 3 -shadowMask = 3 -maskDark = 0.4 -maskLight = 1.2 -mask_gamma = 4 +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-GLASS-SUPER-XBR__GDV-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-GLASS-SUPER-XBR__GDV-NTSC.slangp index c50b179..4a5a23a 100644 --- a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-GLASS-SUPER-XBR__GDV-NTSC.slangp +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-GLASS-SUPER-XBR__GDV-NTSC.slangp @@ -455,17 +455,17 @@ SUPERXBR_ON = 1 ntsc_scale = 0.55 -SHARPEN = 0 +SHARPEN = 0.5 -HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 -gamma_c = 0.9 -gsl = -1 -scanline1 = 3 -shadowMask = 3 -maskDark = 0.4 -maskLight = 1.2 -mask_gamma = 4 +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-GLASS-SUPER-XBR__GDV.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-GLASS-SUPER-XBR__GDV.slangp index a9888ba..bbcf942 100644 --- a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-GLASS-SUPER-XBR__GDV.slangp +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-GLASS-SUPER-XBR__GDV.slangp @@ -430,17 +430,17 @@ SUPERXBR_ON = 1 ntsc_scale = 0.55 -SHARPEN = 0 +SHARPEN = 0.5 -HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 -gamma_c = 0.9 -gsl = -1 -scanline1 = 3 -shadowMask = 3 -maskDark = 0.4 -maskLight = 1.2 -mask_gamma = 4 +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-NO-REFLECT-SUPER-XBR__GDV-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-NO-REFLECT-SUPER-XBR__GDV-NTSC.slangp index 58f5ef2..09993c1 100644 --- a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-NO-REFLECT-SUPER-XBR__GDV-NTSC.slangp +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-NO-REFLECT-SUPER-XBR__GDV-NTSC.slangp @@ -385,17 +385,17 @@ SUPERXBR_ON = 1 ntsc_scale = 0.55 -SHARPEN = 0 +SHARPEN = 0.5 -HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 -gamma_c = 0.9 -gsl = -1 -scanline1 = 3 -shadowMask = 3 -maskDark = 0.4 -maskLight = 1.2 -mask_gamma = 4 +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-NO-REFLECT-SUPER-XBR__GDV.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-NO-REFLECT-SUPER-XBR__GDV.slangp index d0b6d32..f056541 100644 --- a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-NO-REFLECT-SUPER-XBR__GDV.slangp +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-NO-REFLECT-SUPER-XBR__GDV.slangp @@ -360,17 +360,17 @@ SUPERXBR_ON = 1 ntsc_scale = 0.55 -SHARPEN = 0 +SHARPEN = 0.5 -HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 -gamma_c = 0.9 -gsl = -1 -scanline1 = 3 -shadowMask = 3 -maskDark = 0.4 -maskLight = 1.2 -mask_gamma = 4 +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY-SUPER-XBR__GDV-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY-SUPER-XBR__GDV-NTSC.slangp new file mode 100644 index 0000000..fc0d321 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY-SUPER-XBR__GDV-NTSC.slangp @@ -0,0 +1,382 @@ +shaders = 44 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-adv-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/dedither/dedither-gamma-prep-1-before.slang +alias6 = LinearGamma + +shader7 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass1.slang +shader8 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass2.slang +shader9 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass3.slang +alias9 = "PreMdaptPass" + +// De-Dithering - Mdapt +shader10 = ../../shaders/mdapt/hsm-mdapt-pass0.slang +shader11 = ../../shaders/mdapt/hsm-mdapt-pass1.slang +shader12 = ../../shaders/mdapt/hsm-mdapt-pass2.slang +shader13 = ../../shaders/mdapt/hsm-mdapt-pass3.slang +shader14 = ../../shaders/mdapt/hsm-mdapt-pass4.slang + +shader15 = ../../shaders/dedither/dedither-gamma-prep-2-after.slang + +shader16 = ../../shaders/ps1dither/hsm-PS1-Undither-BoxBlur.slang + +shader17 = ../../shaders/guest/extras/hsm-sharpsmoother.slang + +shader18 = ../../shaders/base/stock.slang +// filter_linear18 = "false" +// wrap_mode18 = "clamp_to_border" +// mipmap_input18 = "false" +// float_framebuffer18 = "false" +// srgb_framebuffer18 = "true" +alias18 = XbrSource + +shader19 = ../../shaders/hyllian/crt-super-xbr/super-xbr-pass0.slang +filter_linear19 = "false" +wrap_mode19 = "clamp_to_border" +mipmap_input19 = "false" +float_framebuffer19 = "false" +srgb_framebuffer19 = "true" + +shader20 = ../../shaders/hyllian/crt-super-xbr/super-xbr-pass1.slang +filter_linear20 = "false" +wrap_mode20 = "clamp_to_border" +mipmap_input20 = "false" +alias20 = "" +float_framebuffer20 = "false" +srgb_framebuffer20 = "true" +scale_type_x20 = "source" +scale_x20 = "2.000000" +scale_type_y20 = "source" +scale_y20 = "2.000000" + +shader21 = ../../shaders/hyllian/crt-super-xbr/super-xbr-pass2.slang +filter_linear21 = "false" +wrap_mode21 = "clamp_to_border" +mipmap_input21 = "false" +alias21 = "" +float_framebuffer21 = "false" +srgb_framebuffer21 = "true" +scale_type_x21 = "source" +scale_x21 = "1.000000" +scale_type_y21 = "source" +scale_y21 = "1.000000" + +shader22 = ../../shaders/hyllian/crt-super-xbr/custom-bicubic-X.slang +filter_linear22 = "false" +wrap_mode22 = "clamp_to_border" +mipmap_input22 = "false" +alias22 = "" +float_framebuffer22 = "false" +srgb_framebuffer22 = "true" +scale_type_x22 = "source" +scale_x22 = "1.000000" +scale_type_y22 = "source" +scale_y22 = "1.000000" + +shader23 = ../../shaders/hyllian/crt-super-xbr/custom-bicubic-y.slang +filter_linear23 = false +scale_type_x23 = source +scale_x23 = 1 +scale_type_y23 = source +scale_y23 = 0.5 +wrap_mode23 = "clamp_to_edge" + +shader24 = ../../shaders/base/stock.slang +alias24 = "PreCRTPass" + +shader25 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear25 = true +scale_type25 = source +scale25 = 1.0 +alias25 = "AfterglowPass" + +shader26 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear26 = true +scale_type26 = source +mipmap_input26 = true +scale26 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader27 = ../../shaders/dogway/hsm-grade.slang +filter_linear27 = true +scale_type27 = source +scale27 = 1.0 + +shader28 = ../../shaders/base/stock.slang +alias28 = "PrePass0" + +shader29 = ../../shaders/guest/ntsc/hsm-ntsc-pass1.slang +filter_linear29 = false +float_framebuffer29 = true +scale_type_x29 = source +scale_type_y29 = source +scale_x29 = 4.0 +scale_y29 = 1.0 +frame_count_mod29 = 2 +alias29 = NPass1 + +shader30 = ../../shaders/guest/ntsc/hsm-ntsc-pass2.slang +float_framebuffer30 = true +filter_linear30 = true +scale_type30 = source +scale_x30 = 0.5 +scale_y30 = 1.0 + +shader31 = ../../shaders/guest/ntsc/hsm-ntsc-pass3.slang +filter_linear31 = true +scale_type31 = source +scale_x31 = 1.0 +scale_y31 = 1.0 + +shader32 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear32 = true +scale_type32 = source +scale_x32 = 1.0 +scale_y32 = 1.0 + +shader33 = ../../shaders/base/stock.slang +filter_linear33 = true +scale_type33 = source +scale_x33 = 1.0 +scale_y33 = 1.0 +alias33 = "PrePass" +mipmap_input33 = true + +shader34 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear34 = true +scale_type34 = source +scale34 = 1.0 +mipmap_input34 = true +alias34 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader35 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear35 = true +scale_type35 = source +scale35 = 1.0 +float_framebuffer35 = true +alias35 = "LinearizePass" + +shader36 = ../../shaders/guest/hsm-crt-guest-advanced-ntsc-pass1.slang +filter_linear36 = true +scale_type_x36 = viewport +scale_x36 = 1.0 +scale_type_y36 = source +scale_y36 = 1.0 +float_framebuffer36 = true +alias36 = Pass1 + +shader37 = ../../shaders/guest/hsm-gaussian_horizontal.slang +filter_linear37 = true +scale_type_x37 = absolute +scale_x37 = 640.0 +scale_type_y37 = source +scale_y37 = 1.0 +float_framebuffer37 = true + +shader38 = ../../shaders/guest/hsm-gaussian_vertical.slang +filter_linear38 = true +scale_type_x38 = absolute +scale_x38 = 640.0 +scale_type_y38 = absolute +scale_y38 = 480.0 +float_framebuffer38 = true +alias38 = GlowPass + +shader39 = ../../shaders/guest/hsm-bloom_horizontal.slang +filter_linear39 = true +scale_type_x39 = absolute +scale_x39 = 640.0 +scale_type_y39 = absolute +scale_y39 = 480.0 +float_framebuffer39 = true + +shader40 = ../../shaders/guest/hsm-bloom_vertical.slang +filter_linear40 = true +scale_type_x40 = absolute +scale_x40 = 640.0 +scale_type_y40 = absolute +scale_y40 = 480.0 +float_framebuffer40 = true +alias40 = BloomPass + +shader41 = ../../shaders/guest/hsm-crt-guest-advanced-ntsc-pass2-no-reflect.slang +filter_linear41 = true +float_framebuffer41 = true +scale_type41 = viewport +scale_x41 = 1.0 +scale_y41 = 1.0 + +shader42 = ../../shaders/guest/hsm-deconvergence.slang +filter_linear42 = true +scale_type42 = viewport +scale_x42 = 1.0 +scale_y42 = 1.0 + +shader43 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias43 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// NTSC Parameters +GAMMA_INPUT = 2.0 +gamma_out = 1.95 + +// SMOOTH-ADV +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 + +HSM_DEDITHER_MODE = 3 + +SHARPSMOOTHER_ON = 1 +max_w = 0.05 +min_w = 0 +smoot = 0.4 +lumad = 0.5 +mtric = 0.3 + +SUPERXBR_ON = 1 + +ntsc_scale = 0.55 + +SHARPEN = 0.5 + +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 +HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 +HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 +HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 + +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY-SUPER-XBR__GDV.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY-SUPER-XBR__GDV.slangp new file mode 100644 index 0000000..dbcbfa0 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY-SUPER-XBR__GDV.slangp @@ -0,0 +1,357 @@ +shaders = 41 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-adv-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/dedither/dedither-gamma-prep-1-before.slang +alias6 = LinearGamma + +shader7 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass1.slang +shader8 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass2.slang +shader9 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass3.slang +alias9 = "PreMdaptPass" + +// De-Dithering - Mdapt +shader10 = ../../shaders/mdapt/hsm-mdapt-pass0.slang +shader11 = ../../shaders/mdapt/hsm-mdapt-pass1.slang +shader12 = ../../shaders/mdapt/hsm-mdapt-pass2.slang +shader13 = ../../shaders/mdapt/hsm-mdapt-pass3.slang +shader14 = ../../shaders/mdapt/hsm-mdapt-pass4.slang + +shader15 = ../../shaders/dedither/dedither-gamma-prep-2-after.slang + +shader16 = ../../shaders/ps1dither/hsm-PS1-Undither-BoxBlur.slang + +shader17 = ../../shaders/guest/extras/hsm-sharpsmoother.slang + +shader18 = ../../shaders/base/stock.slang +// filter_linear18 = "false" +// wrap_mode18 = "clamp_to_border" +// mipmap_input18 = "false" +// float_framebuffer18 = "false" +// srgb_framebuffer18 = "true" +alias18 = XbrSource + +shader19 = ../../shaders/hyllian/crt-super-xbr/super-xbr-pass0.slang +filter_linear19 = "false" +wrap_mode19 = "clamp_to_border" +mipmap_input19 = "false" +float_framebuffer19 = "false" +srgb_framebuffer19 = "true" + +shader20 = ../../shaders/hyllian/crt-super-xbr/super-xbr-pass1.slang +filter_linear20 = "false" +wrap_mode20 = "clamp_to_border" +mipmap_input20 = "false" +alias20 = "" +float_framebuffer20 = "false" +srgb_framebuffer20 = "true" +scale_type_x20 = "source" +scale_x20 = "2.000000" +scale_type_y20 = "source" +scale_y20 = "2.000000" + +shader21 = ../../shaders/hyllian/crt-super-xbr/super-xbr-pass2.slang +filter_linear21 = "false" +wrap_mode21 = "clamp_to_border" +mipmap_input21 = "false" +alias21 = "" +float_framebuffer21 = "false" +srgb_framebuffer21 = "true" +scale_type_x21 = "source" +scale_x21 = "1.000000" +scale_type_y21 = "source" +scale_y21 = "1.000000" + +shader22 = ../../shaders/hyllian/crt-super-xbr/custom-bicubic-X.slang +filter_linear22 = "false" +wrap_mode22 = "clamp_to_border" +mipmap_input22 = "false" +alias22 = "" +float_framebuffer22 = "false" +srgb_framebuffer22 = "true" +scale_type_x22 = "source" +scale_x22 = "1.000000" +scale_type_y22 = "source" +scale_y22 = "1.000000" + +shader23 = ../../shaders/hyllian/crt-super-xbr/custom-bicubic-y.slang +filter_linear23 = false +scale_type_x23 = source +scale_x23 = 1 +scale_type_y23 = source +scale_y23 = 0.5 +wrap_mode23 = "clamp_to_edge" + +// GTU TV Processing +shader24 = ../../shaders/gtu/hsm-gtu-pass1.slang +scale_type24 = source +scale24 = 1.0 +float_framebuffer24 = true + +shader25 = ../../shaders/gtu/hsm-gtu-pass2.slang +scale_type_x25 = source +scale_x25 = 1.0 +scale_type_y25 = source +scale_y25 = 1.0 +filter_linear25 = false +float_framebuffer25 = true + +shader26 = ../../shaders/base/stock.slang +alias26 = "PreCRTPass" + +shader27 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear27 = true +scale_type27 = source +scale27 = 1.0 +alias27 = "AfterglowPass" + +shader28 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear28 = true +scale_type28 = source +mipmap_input28 = true +scale28 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader29 = ../../shaders/dogway/hsm-grade.slang +filter_linear29 = true +scale_type29 = source +scale29 = 1.0 + +shader30 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear30 = true +scale_type30 = source +scale_x30 = 1.0 +scale_y30 = 1.0 + +shader31 = ../../shaders/base/stock.slang +filter_linear31 = true +scale_type31 = source +scale_x31 = 1.0 +scale_y31 = 1.0 +alias31 = "PrePass" +mipmap_input31 = true + +shader32 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear32 = true +scale_type32 = source +scale32 = 1.0 +mipmap_input32 = true +alias32 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader33 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear33 = true +scale_type33 = source +scale33 = 1.0 +float_framebuffer33 = true +alias33 = "LinearizePass" + +shader34 = ../../shaders/guest/hsm-gaussian_horizontal.slang +filter_linear34 = true +scale_type_x34 = absolute +scale_x34 = 800.0 +scale_type_y34 = source +scale_y34 = 1.0 +float_framebuffer34 = true + +shader35 = ../../shaders/guest/hsm-gaussian_vertical.slang +filter_linear35 = true +scale_type_x35 = absolute +scale_x35 = 800.0 +scale_type_y35 = absolute +scale_y35 = 600.0 +float_framebuffer35 = true +alias35 = GlowPass + +shader36 = ../../shaders/guest/hsm-bloom_horizontal.slang +filter_linear36 = true +scale_type_x36 = absolute +scale_x36 = 800.0 +scale_type_y36 = absolute +scale_y36 = 600.0 +float_framebuffer36 = true + +shader37 = ../../shaders/guest/hsm-bloom_vertical.slang +filter_linear37 = true +scale_type_x37 = source +scale_x37 = 1.0 +scale_type_y37 = source +scale_y37 = 1.0 +float_framebuffer37 = true +alias37 = BloomPass + +shader38 = ../../shaders/guest/hsm-crt-guest-advanced-no-reflect.slang +filter_linear38 = true +float_framebuffer38 = true +scale_type38 = viewport +scale_x38 = 1.0 +scale_y38 = 1.0 + +shader39 = ../../shaders/guest/hsm-deconvergence-no-reflect.slang +filter_linear39 = true +scale_type39 = viewport +scale_x39 = 1.0 +scale_y39 = 1.0 + +shader40 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias40 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// SMOOTH-ADV +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 + +HSM_DEDITHER_MODE = 3 + +SHARPSMOOTHER_ON = 1 +max_w = 0.05 +min_w = 0 +smoot = 0.4 +lumad = 0.5 +mtric = 0.3 + +SUPERXBR_ON = 1 + +ntsc_scale = 0.55 + +SHARPEN = 0.5 + +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 +HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 +HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 +HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 + +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__GDV-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__GDV-NTSC.slangp new file mode 100644 index 0000000..a29c992 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__GDV-NTSC.slangp @@ -0,0 +1,292 @@ +shaders = 38 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-adv-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/dedither/dedither-gamma-prep-1-before.slang +alias6 = LinearGamma + +shader7 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass1.slang +shader8 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass2.slang +shader9 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass3.slang +alias9 = "PreMdaptPass" + +// De-Dithering - Mdapt +shader10 = ../../shaders/mdapt/hsm-mdapt-pass0.slang +shader11 = ../../shaders/mdapt/hsm-mdapt-pass1.slang +shader12 = ../../shaders/mdapt/hsm-mdapt-pass2.slang +shader13 = ../../shaders/mdapt/hsm-mdapt-pass3.slang +shader14 = ../../shaders/mdapt/hsm-mdapt-pass4.slang + +shader15 = ../../shaders/dedither/dedither-gamma-prep-2-after.slang + +shader16 = ../../shaders/ps1dither/hsm-PS1-Undither-BoxBlur.slang + +shader17 = ../../shaders/guest/extras/hsm-sharpsmoother.slang + +shader18 = ../../shaders/base/stock.slang +alias18 = "PreCRTPass" + +shader19 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear19 = true +scale_type19 = source +scale19 = 1.0 +alias19 = "AfterglowPass" + +shader20 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear20 = true +scale_type20 = source +mipmap_input20 = true +scale20 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader21 = ../../shaders/dogway/hsm-grade.slang +filter_linear21 = true +scale_type21 = source +scale21 = 1.0 + +shader22 = ../../shaders/base/stock.slang +alias22 = "PrePass0" + +shader23 = ../../shaders/guest/ntsc/hsm-ntsc-pass1.slang +filter_linear23 = false +float_framebuffer23 = true +scale_type_x23 = source +scale_type_y23 = source +scale_x23 = 4.0 +scale_y23 = 1.0 +frame_count_mod23 = 2 +alias23 = NPass1 + +shader24 = ../../shaders/guest/ntsc/hsm-ntsc-pass2.slang +float_framebuffer24 = true +filter_linear24 = true +scale_type24 = source +scale_x24 = 0.5 +scale_y24 = 1.0 + +shader25 = ../../shaders/guest/ntsc/hsm-ntsc-pass3.slang +filter_linear25 = true +scale_type25 = source +scale_x25 = 1.0 +scale_y25 = 1.0 + +shader26 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear26 = true +scale_type26 = source +scale_x26 = 1.0 +scale_y26 = 1.0 + +shader27 = ../../shaders/base/stock.slang +filter_linear27 = true +scale_type27 = source +scale_x27 = 1.0 +scale_y27 = 1.0 +alias27 = "PrePass" +mipmap_input27 = true + +shader28 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear28 = true +scale_type28 = source +scale28 = 1.0 +mipmap_input28 = true +alias28 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader29 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear29 = true +scale_type29 = source +scale29 = 1.0 +float_framebuffer29 = true +alias29 = "LinearizePass" + +shader30 = ../../shaders/guest/hsm-crt-guest-advanced-ntsc-pass1.slang +filter_linear30 = true +scale_type_x30 = viewport +scale_x30 = 1.0 +scale_type_y30 = source +scale_y30 = 1.0 +float_framebuffer30 = true +alias30 = Pass1 + +shader31 = ../../shaders/guest/hsm-gaussian_horizontal.slang +filter_linear31 = true +scale_type_x31 = absolute +scale_x31 = 640.0 +scale_type_y31 = source +scale_y31 = 1.0 +float_framebuffer31 = true + +shader32 = ../../shaders/guest/hsm-gaussian_vertical.slang +filter_linear32 = true +scale_type_x32 = absolute +scale_x32 = 640.0 +scale_type_y32 = absolute +scale_y32 = 480.0 +float_framebuffer32 = true +alias32 = GlowPass + +shader33 = ../../shaders/guest/hsm-bloom_horizontal.slang +filter_linear33 = true +scale_type_x33 = absolute +scale_x33 = 640.0 +scale_type_y33 = absolute +scale_y33 = 480.0 +float_framebuffer33 = true + +shader34 = ../../shaders/guest/hsm-bloom_vertical.slang +filter_linear34 = true +scale_type_x34 = absolute +scale_x34 = 640.0 +scale_type_y34 = absolute +scale_y34 = 480.0 +float_framebuffer34 = true +alias34 = BloomPass + +shader35 = ../../shaders/guest/hsm-crt-guest-advanced-ntsc-pass2-no-reflect.slang +filter_linear35 = true +float_framebuffer35 = true +scale_type35 = viewport +scale_x35 = 1.0 +scale_y35 = 1.0 + +shader36 = ../../shaders/guest/hsm-deconvergence.slang +filter_linear36 = true +scale_type36 = viewport +scale_x36 = 1.0 +scale_y36 = 1.0 + +shader37 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias37 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// NTSC Parameters +GAMMA_INPUT = 2.0 +gamma_out = 1.95 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__GDV.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__GDV.slangp new file mode 100644 index 0000000..f6c1bbc --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__GDV.slangp @@ -0,0 +1,267 @@ +shaders = 35 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-adv-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/dedither/dedither-gamma-prep-1-before.slang +alias6 = LinearGamma + +shader7 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass1.slang +shader8 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass2.slang +shader9 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass3.slang +alias9 = "PreMdaptPass" + +// De-Dithering - Mdapt +shader10 = ../../shaders/mdapt/hsm-mdapt-pass0.slang +shader11 = ../../shaders/mdapt/hsm-mdapt-pass1.slang +shader12 = ../../shaders/mdapt/hsm-mdapt-pass2.slang +shader13 = ../../shaders/mdapt/hsm-mdapt-pass3.slang +shader14 = ../../shaders/mdapt/hsm-mdapt-pass4.slang + +shader15 = ../../shaders/dedither/dedither-gamma-prep-2-after.slang + +shader16 = ../../shaders/ps1dither/hsm-PS1-Undither-BoxBlur.slang + +shader17 = ../../shaders/guest/extras/hsm-sharpsmoother.slang + +// GTU TV Processing +shader18 = ../../shaders/gtu/hsm-gtu-pass1.slang +scale_type18 = source +scale18 = 1.0 +float_framebuffer18 = true + +shader19 = ../../shaders/gtu/hsm-gtu-pass2.slang +scale_type_x19 = source +scale_x19 = 1.0 +scale_type_y19 = source +scale_y19 = 1.0 +filter_linear19 = false +float_framebuffer19 = true + +shader20 = ../../shaders/base/stock.slang +alias20 = "PreCRTPass" + +shader21 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear21 = true +scale_type21 = source +scale21 = 1.0 +alias21 = "AfterglowPass" + +shader22 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear22 = true +scale_type22 = source +mipmap_input22 = true +scale22 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader23 = ../../shaders/dogway/hsm-grade.slang +filter_linear23 = true +scale_type23 = source +scale23 = 1.0 + +shader24 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear24 = true +scale_type24 = source +scale_x24 = 1.0 +scale_y24 = 1.0 + +shader25 = ../../shaders/base/stock.slang +filter_linear25 = true +scale_type25 = source +scale_x25 = 1.0 +scale_y25 = 1.0 +alias25 = "PrePass" +mipmap_input25 = true + +shader26 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear26 = true +scale_type26 = source +scale26 = 1.0 +mipmap_input26 = true +alias26 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader27 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear27 = true +scale_type27 = source +scale27 = 1.0 +float_framebuffer27 = true +alias27 = "LinearizePass" + +shader28 = ../../shaders/guest/hsm-gaussian_horizontal.slang +filter_linear28 = true +scale_type_x28 = absolute +scale_x28 = 800.0 +scale_type_y28 = source +scale_y28 = 1.0 +float_framebuffer28 = true + +shader29 = ../../shaders/guest/hsm-gaussian_vertical.slang +filter_linear29 = true +scale_type_x29 = absolute +scale_x29 = 800.0 +scale_type_y29 = absolute +scale_y29 = 600.0 +float_framebuffer29 = true +alias29 = GlowPass + +shader30 = ../../shaders/guest/hsm-bloom_horizontal.slang +filter_linear30 = true +scale_type_x30 = absolute +scale_x30 = 800.0 +scale_type_y30 = absolute +scale_y30 = 600.0 +float_framebuffer30 = true + +shader31 = ../../shaders/guest/hsm-bloom_vertical.slang +filter_linear31 = true +scale_type_x31 = source +scale_x31 = 1.0 +scale_type_y31 = source +scale_y31 = 1.0 +float_framebuffer31 = true +alias31 = BloomPass + +shader32 = ../../shaders/guest/hsm-crt-guest-advanced-no-reflect.slang +filter_linear32 = true +float_framebuffer32 = true +scale_type32 = viewport +scale_x32 = 1.0 +scale_y32 = 1.0 + +shader33 = ../../shaders/guest/hsm-deconvergence-no-reflect.slang +filter_linear33 = true +scale_type33 = viewport +scale_x33 = 1.0 +scale_y33 = 1.0 + +shader34 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias34 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__MEGATRON-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__MEGATRON-NTSC.slangp new file mode 100644 index 0000000..7d3b5b5 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__MEGATRON-NTSC.slangp @@ -0,0 +1,274 @@ +shaders = 34 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-adv-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/dedither/dedither-gamma-prep-1-before.slang +alias6 = LinearGamma + +shader7 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass1.slang +shader8 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass2.slang +shader9 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass3.slang +alias9 = "PreMdaptPass" + +// De-Dithering - Mdapt +shader10 = ../../shaders/mdapt/hsm-mdapt-pass0.slang +shader11 = ../../shaders/mdapt/hsm-mdapt-pass1.slang +shader12 = ../../shaders/mdapt/hsm-mdapt-pass2.slang +shader13 = ../../shaders/mdapt/hsm-mdapt-pass3.slang +shader14 = ../../shaders/mdapt/hsm-mdapt-pass4.slang + +shader15 = ../../shaders/dedither/dedither-gamma-prep-2-after.slang + +shader16 = ../../shaders/ps1dither/hsm-PS1-Undither-BoxBlur.slang + +shader17 = ../../shaders/guest/extras/hsm-sharpsmoother.slang + +shader18 = ../../shaders/base/stock.slang +alias18 = "PreCRTPass" + +shader19 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear19 = true +scale_type19 = source +scale19 = 1.0 +alias19 = "AfterglowPass" + +shader20 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear20 = true +scale_type20 = source +mipmap_input20 = true +scale20 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader21 = ../../shaders/dogway/hsm-grade.slang +filter_linear21 = true +scale_type21 = source +scale21 = 1.0 + +shader22 = ../../shaders/base/stock.slang +alias22 = "PrePass0" + +shader23 = ../../shaders/guest/ntsc/hsm-ntsc-pass1.slang +filter_linear23 = false +float_framebuffer23 = true +scale_type_x23 = source +scale_type_y23 = source +scale_x23 = 4.0 +scale_y23 = 1.0 +frame_count_mod23 = 2 +alias23 = NPass1 + +shader24 = ../../shaders/guest/ntsc/hsm-ntsc-pass2.slang +float_framebuffer24 = true +filter_linear24 = true +scale_type24 = source +scale_x24 = 0.5 +scale_y24 = 1.0 + +shader25 = ../../shaders/guest/ntsc/hsm-ntsc-pass3.slang +filter_linear25 = true +scale_type25 = source +scale_x25 = 1.0 +scale_y25 = 1.0 + +shader26 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear26 = true +scale_type26 = source +scale_x26 = 1.0 +scale_y26 = 1.0 + +shader27 = ../../shaders/base/stock.slang +filter_linear27 = true +scale_type27 = source +scale_x27 = 1.0 +scale_y27 = 1.0 +alias27 = "PrePass" +mipmap_input27 = true + +shader28 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear28 = true +scale_type28 = source +scale28 = 1.0 +mipmap_input28 = true +alias28 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader29 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear29 = true +scale_type29 = source +scale29 = 1.0 +float_framebuffer29 = true +alias29 = "LinearizePass" +feedback_pass = "0" + +// Sony Megatron Colour Video Monitor by Major Pain The Cactus +shader30 = "../../shaders/megatron/crt-sony-megatron-source-pass.slang" +filter_linear30 = "false" +scale_type30 = "source" +scale30 = "1.0" +wrap_mode30 = "clamp_to_border" +mipmap_input30 = "false" +alias30 = "SourceSDR" +float_framebuffer30 = "true" + +shader31 = "../../shaders/megatron/crt-sony-megatron-hdr-pass.slang" +filter_linear31 = "false" +scale_type31 = "source" +scale31 = "1.0" +wrap_mode31 = "clamp_to_border" +mipmap_input31 = "false" +alias31 = "SourceHDR" +float_framebuffer31 = "true" + +shader32 = "../../shaders/megatron/crt-sony-megatron-no-reflect.slang" +filter_linear32 = "false" +wrap_mode32 = "clamp_to_border" +mipmap_input32 = "false" +alias32 = "" +float_framebuffer32 = "false" +srgb_framebuffer32 = "false" +scale_type32 = "viewport" + +shader33 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias33 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// Sony Megatron Color Monitor +hcrt_hdr = "0.000000" +hcrt_gamma_in = "2.020000" + +HSM_INT_SCALE_MODE = "1.000000" +HSM_CRT_CURVATURE_SCALE = "0.000000" +HSM_GLOBAL_GRAPHICS_BRIGHTNESS = "40.000000" +HSM_REFLECT_GLOBAL_AMOUNT = "300.000000" + +// NTSC Parameters +GAMMA_INPUT = 2.0 +gamma_out = 1.95 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__MEGATRON.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__MEGATRON.slangp new file mode 100644 index 0000000..8c8a014 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__MEGATRON.slangp @@ -0,0 +1,258 @@ +shaders = 32 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-adv-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/dedither/dedither-gamma-prep-1-before.slang +alias6 = LinearGamma + +shader7 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass1.slang +shader8 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass2.slang +shader9 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass3.slang +alias9 = "PreMdaptPass" + +// De-Dithering - Mdapt +shader10 = ../../shaders/mdapt/hsm-mdapt-pass0.slang +shader11 = ../../shaders/mdapt/hsm-mdapt-pass1.slang +shader12 = ../../shaders/mdapt/hsm-mdapt-pass2.slang +shader13 = ../../shaders/mdapt/hsm-mdapt-pass3.slang +shader14 = ../../shaders/mdapt/hsm-mdapt-pass4.slang + +shader15 = ../../shaders/dedither/dedither-gamma-prep-2-after.slang + +shader16 = ../../shaders/ps1dither/hsm-PS1-Undither-BoxBlur.slang + +shader17 = ../../shaders/guest/extras/hsm-sharpsmoother.slang + +// GTU TV Processing +shader18 = ../../shaders/gtu/hsm-gtu-pass1.slang +scale_type18 = source +scale18 = 1.0 +float_framebuffer18 = true + +shader19 = ../../shaders/gtu/hsm-gtu-pass2.slang +scale_type_x19 = source +scale_x19 = 1.0 +scale_type_y19 = source +scale_y19 = 1.0 +filter_linear19 = false +float_framebuffer19 = true + +shader20 = ../../shaders/base/stock.slang +alias20 = "PreCRTPass" + +shader21 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear21 = true +scale_type21 = source +scale21 = 1.0 +alias21 = "AfterglowPass" + +shader22 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear22 = true +scale_type22 = source +mipmap_input22 = true +scale22 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader23 = ../../shaders/dogway/hsm-grade.slang +filter_linear23 = true +scale_type23 = source +scale23 = 1.0 + +shader24 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear24 = true +scale_type24 = source +scale_x24 = 1.0 +scale_y24 = 1.0 + +shader25 = ../../shaders/base/stock.slang +filter_linear25 = true +scale_type25 = source +scale_x25 = 1.0 +scale_y25 = 1.0 +alias25 = "PrePass" +mipmap_input25 = true + +shader26 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear26 = true +scale_type26 = source +scale26 = 1.0 +mipmap_input26 = true +alias26 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader27 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear27 = true +scale_type27 = source +scale27 = 1.0 +float_framebuffer27 = true +alias27 = "LinearizePass" +feedback_pass = "0" + +// Sony Megatron Colour Video Monitor by Major Pain The Cactus +shader28 = "../../shaders/megatron/crt-sony-megatron-source-pass.slang" +filter_linear28 = "false" +scale_type28 = "source" +scale28 = "1.0" +wrap_mode28 = "clamp_to_border" +mipmap_input28 = "false" +alias28 = "SourceSDR" +float_framebuffer28 = "true" + +shader29 = "../../shaders/megatron/crt-sony-megatron-hdr-pass.slang" +filter_linear29 = "false" +scale_type29 = "source" +scale29 = "1.0" +wrap_mode29 = "clamp_to_border" +mipmap_input29 = "false" +alias29 = "SourceHDR" +float_framebuffer29 = "true" + +shader30 = "../../shaders/megatron/crt-sony-megatron-no-reflect.slang" +filter_linear30 = "false" +wrap_mode30 = "clamp_to_border" +mipmap_input30 = "false" +alias30 = "" +float_framebuffer30 = "false" +srgb_framebuffer30 = "false" +scale_type30 = "viewport" + +shader31 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias31 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// Sony Megatron Color Monitor +hcrt_hdr = "0.000000" +hcrt_gamma_in = "2.020000" + +HSM_INT_SCALE_MODE = "1.000000" +HSM_CRT_CURVATURE_SCALE = "0.000000" +HSM_GLOBAL_GRAPHICS_BRIGHTNESS = "40.000000" +HSM_REFLECT_GLOBAL_AMOUNT = "300.000000" diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-GLASS-SUPER-XBR__GDV-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-GLASS-SUPER-XBR__GDV-NTSC.slangp index 91e17be..8e78b64 100644 --- a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-GLASS-SUPER-XBR__GDV-NTSC.slangp +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-GLASS-SUPER-XBR__GDV-NTSC.slangp @@ -453,17 +453,17 @@ SUPERXBR_ON = 1 ntsc_scale = 0.55 -SHARPEN = 0 +SHARPEN = 0.5 -HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 -gamma_c = 0.9 -gsl = -1 -scanline1 = 3 -shadowMask = 3 -maskDark = 0.4 -maskLight = 1.2 -mask_gamma = 4 +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-GLASS-SUPER-XBR__GDV.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-GLASS-SUPER-XBR__GDV.slangp index e7a8307..9b0d761 100644 --- a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-GLASS-SUPER-XBR__GDV.slangp +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-GLASS-SUPER-XBR__GDV.slangp @@ -414,17 +414,17 @@ SUPERXBR_ON = 1 ntsc_scale = 0.55 -SHARPEN = 0 +SHARPEN = 0.5 -HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 -gamma_c = 0.9 -gsl = -1 -scanline1 = 3 -shadowMask = 3 -maskDark = 0.4 -maskLight = 1.2 -mask_gamma = 4 +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-SUPER-XBR__GDV-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-SUPER-XBR__GDV-NTSC.slangp index 7febf51..a5da841 100644 --- a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-SUPER-XBR__GDV-NTSC.slangp +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-SUPER-XBR__GDV-NTSC.slangp @@ -449,17 +449,17 @@ SUPERXBR_ON = 1 ntsc_scale = 0.55 -SHARPEN = 0 +SHARPEN = 0.5 -HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 -gamma_c = 0.9 -gsl = -1 -scanline1 = 3 -shadowMask = 3 -maskDark = 0.4 -maskLight = 1.2 -mask_gamma = 4 +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-SUPER-XBR__GDV.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-SUPER-XBR__GDV.slangp index bf78972..9aa4948 100644 --- a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-SUPER-XBR__GDV.slangp +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-SUPER-XBR__GDV.slangp @@ -379,17 +379,17 @@ SUPERXBR_ON = 1 ntsc_scale = 0.55 -SHARPEN = 0 +SHARPEN = 0.5 -HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 -gamma_c = 0.9 -gsl = -1 -scanline1 = 3 -shadowMask = 3 -maskDark = 0.4 -maskLight = 1.2 -mask_gamma = 4 +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-NO-REFLECT-SUPER-XBR__GDV-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-NO-REFLECT-SUPER-XBR__GDV-NTSC.slangp index 82ce79d..2998344 100644 --- a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-NO-REFLECT-SUPER-XBR__GDV-NTSC.slangp +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-NO-REFLECT-SUPER-XBR__GDV-NTSC.slangp @@ -383,17 +383,17 @@ SUPERXBR_ON = 1 ntsc_scale = 0.55 -SHARPEN = 0 +SHARPEN = 0.5 -HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 -gamma_c = 0.9 -gsl = -1 -scanline1 = 3 -shadowMask = 3 -maskDark = 0.4 -maskLight = 1.2 -mask_gamma = 4 +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-NO-REFLECT-SUPER-XBR__GDV.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-NO-REFLECT-SUPER-XBR__GDV.slangp index 24923cb..2f1cdce 100644 --- a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-NO-REFLECT-SUPER-XBR__GDV.slangp +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-NO-REFLECT-SUPER-XBR__GDV.slangp @@ -344,17 +344,17 @@ SUPERXBR_ON = 1 ntsc_scale = 0.55 -SHARPEN = 0 +SHARPEN = 0.5 -HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 -gamma_c = 0.9 -gsl = -1 -scanline1 = 3 -shadowMask = 3 -maskDark = 0.4 -maskLight = 1.2 -mask_gamma = 4 +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY-SUPER-XBR__GDV-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY-SUPER-XBR__GDV-NTSC.slangp new file mode 100644 index 0000000..5b7f2fb --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY-SUPER-XBR__GDV-NTSC.slangp @@ -0,0 +1,380 @@ +shaders = 43 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-std-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/dedither/dedither-gamma-prep-1-before.slang +alias6 = LinearGamma + +shader7 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass1.slang +shader8 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass2.slang +shader9 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass3.slang +alias9 = "PreMdaptPass" + +// De-Dithering - Mdapt +shader10 = ../../shaders/mdapt/hsm-mdapt-pass0.slang +shader11 = ../../shaders/mdapt/hsm-mdapt-pass1.slang +shader12 = ../../shaders/mdapt/hsm-mdapt-pass2.slang +shader13 = ../../shaders/mdapt/hsm-mdapt-pass3.slang +shader14 = ../../shaders/mdapt/hsm-mdapt-pass4.slang + +shader15 = ../../shaders/dedither/dedither-gamma-prep-2-after.slang + +shader16 = ../../shaders/guest/extras/hsm-sharpsmoother.slang + +shader17 = ../../shaders/base/stock.slang +// filter_linear17 = "false" +// wrap_mode17 = "clamp_to_border" +// mipmap_input17 = "false" +// float_framebuffer17 = "false" +// srgb_framebuffer17 = "true" +alias17 = XbrSource + +shader18 = ../../shaders/hyllian/crt-super-xbr/super-xbr-pass0.slang +filter_linear18 = "false" +wrap_mode18 = "clamp_to_border" +mipmap_input18 = "false" +float_framebuffer18 = "false" +srgb_framebuffer18 = "true" + +shader19 = ../../shaders/hyllian/crt-super-xbr/super-xbr-pass1.slang +filter_linear19 = "false" +wrap_mode19 = "clamp_to_border" +mipmap_input19 = "false" +alias19 = "" +float_framebuffer19 = "false" +srgb_framebuffer19 = "true" +scale_type_x19 = "source" +scale_x19 = "2.000000" +scale_type_y19 = "source" +scale_y19 = "2.000000" + +shader20 = ../../shaders/hyllian/crt-super-xbr/super-xbr-pass2.slang +filter_linear20 = "false" +wrap_mode20 = "clamp_to_border" +mipmap_input20 = "false" +alias20 = "" +float_framebuffer20 = "false" +srgb_framebuffer20 = "true" +scale_type_x20 = "source" +scale_x20 = "1.000000" +scale_type_y20 = "source" +scale_y20 = "1.000000" + +shader21 = ../../shaders/hyllian/crt-super-xbr/custom-bicubic-X.slang +filter_linear21 = "false" +wrap_mode21 = "clamp_to_border" +mipmap_input21 = "false" +alias21 = "" +float_framebuffer21 = "false" +srgb_framebuffer21 = "true" +scale_type_x21 = "source" +scale_x21 = "1.000000" +scale_type_y21 = "source" +scale_y21 = "1.000000" + +shader22 = ../../shaders/hyllian/crt-super-xbr/custom-bicubic-y.slang +filter_linear22 = false +scale_type_x22 = source +scale_x22 = 1 +scale_type_y22 = source +scale_y22 = 0.5 +wrap_mode22 = "clamp_to_edge" + +shader23 = ../../shaders/base/stock.slang +alias23 = "PreCRTPass" + +shader24 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear24 = true +scale_type24 = source +scale24 = 1.0 +alias24 = "AfterglowPass" + +shader25 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear25 = true +scale_type25 = source +mipmap_input25 = true +scale25 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader26 = ../../shaders/dogway/hsm-grade.slang +filter_linear26 = true +scale_type26 = source +scale26 = 1.0 + +shader27 = ../../shaders/base/stock.slang +alias27 = "PrePass0" + +shader28 = ../../shaders/guest/ntsc/hsm-ntsc-pass1.slang +filter_linear28 = false +float_framebuffer28 = true +scale_type_x28 = source +scale_type_y28 = source +scale_x28 = 4.0 +scale_y28 = 1.0 +frame_count_mod28 = 2 +alias28 = NPass1 + +shader29 = ../../shaders/guest/ntsc/hsm-ntsc-pass2.slang +float_framebuffer29 = true +filter_linear29 = true +scale_type29 = source +scale_x29 = 0.5 +scale_y29 = 1.0 + +shader30 = ../../shaders/guest/ntsc/hsm-ntsc-pass3.slang +filter_linear30 = true +scale_type30 = source +scale_x30 = 1.0 +scale_y30 = 1.0 + +shader31 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear31 = true +scale_type31 = source +scale_x31 = 1.0 +scale_y31 = 1.0 + +shader32 = ../../shaders/base/stock.slang +filter_linear32 = true +scale_type32 = source +scale_x32 = 1.0 +scale_y32 = 1.0 +alias32 = "PrePass" +mipmap_input32 = true + +shader33 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear33 = true +scale_type33 = source +scale33 = 1.0 +mipmap_input33 = true +alias33 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader34 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear34 = true +scale_type34 = source +scale34 = 1.0 +float_framebuffer34 = true +alias34 = "LinearizePass" + +shader35 = ../../shaders/guest/hsm-crt-guest-advanced-ntsc-pass1.slang +filter_linear35 = true +scale_type_x35 = viewport +scale_x35 = 1.0 +scale_type_y35 = source +scale_y35 = 1.0 +float_framebuffer35 = true +alias35 = Pass1 + +shader36 = ../../shaders/guest/hsm-gaussian_horizontal.slang +filter_linear36 = true +scale_type_x36 = absolute +scale_x36 = 640.0 +scale_type_y36 = source +scale_y36 = 1.0 +float_framebuffer36 = true + +shader37 = ../../shaders/guest/hsm-gaussian_vertical.slang +filter_linear37 = true +scale_type_x37 = absolute +scale_x37 = 640.0 +scale_type_y37 = absolute +scale_y37 = 480.0 +float_framebuffer37 = true +alias37 = GlowPass + +shader38 = ../../shaders/guest/hsm-bloom_horizontal.slang +filter_linear38 = true +scale_type_x38 = absolute +scale_x38 = 640.0 +scale_type_y38 = absolute +scale_y38 = 480.0 +float_framebuffer38 = true + +shader39 = ../../shaders/guest/hsm-bloom_vertical.slang +filter_linear39 = true +scale_type_x39 = absolute +scale_x39 = 640.0 +scale_type_y39 = absolute +scale_y39 = 480.0 +float_framebuffer39 = true +alias39 = BloomPass + +shader40 = ../../shaders/guest/hsm-crt-guest-advanced-ntsc-pass2-no-reflect.slang +filter_linear40 = true +float_framebuffer40 = true +scale_type40 = viewport +scale_x40 = 1.0 +scale_y40 = 1.0 + +shader41 = ../../shaders/guest/hsm-deconvergence.slang +filter_linear41 = true +scale_type41 = viewport +scale_x41 = 1.0 +scale_y41 = 1.0 + +shader42 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias42 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// NTSC Parameters +GAMMA_INPUT = 2.0 +gamma_out = 1.95 + +// SMOOTH-ADV +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 + +HSM_DEDITHER_MODE = 3 + +SHARPSMOOTHER_ON = 1 +max_w = 0.05 +min_w = 0 +smoot = 0.4 +lumad = 0.5 +mtric = 0.3 + +SUPERXBR_ON = 1 + +ntsc_scale = 0.55 + +SHARPEN = 0.5 + +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 +HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 +HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 +HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 + +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY-SUPER-XBR__GDV.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY-SUPER-XBR__GDV.slangp new file mode 100644 index 0000000..b9cc53e --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY-SUPER-XBR__GDV.slangp @@ -0,0 +1,341 @@ +shaders = 38 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-std-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/dedither/dedither-gamma-prep-1-before.slang +alias6 = LinearGamma + +shader7 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass1.slang +shader8 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass2.slang +shader9 = ../../shaders/hyllian/checkerboard-dedither/checkerboard-dedither-pass3.slang +alias9 = "PreMdaptPass" + +// De-Dithering - Mdapt +shader10 = ../../shaders/mdapt/hsm-mdapt-pass0.slang +shader11 = ../../shaders/mdapt/hsm-mdapt-pass1.slang +shader12 = ../../shaders/mdapt/hsm-mdapt-pass2.slang +shader13 = ../../shaders/mdapt/hsm-mdapt-pass3.slang +shader14 = ../../shaders/mdapt/hsm-mdapt-pass4.slang + +shader15 = ../../shaders/dedither/dedither-gamma-prep-2-after.slang + +shader16 = ../../shaders/guest/extras/hsm-sharpsmoother.slang + +shader17 = ../../shaders/base/stock.slang +// filter_linear17 = "false" +// wrap_mode17 = "clamp_to_border" +// mipmap_input17 = "false" +// float_framebuffer17 = "false" +// srgb_framebuffer17 = "true" +alias17 = XbrSource + +shader18 = ../../shaders/hyllian/crt-super-xbr/super-xbr-pass0.slang +filter_linear18 = "false" +wrap_mode18 = "clamp_to_border" +mipmap_input18 = "false" +float_framebuffer18 = "false" +srgb_framebuffer18 = "true" + +shader19 = ../../shaders/hyllian/crt-super-xbr/super-xbr-pass1.slang +filter_linear19 = "false" +wrap_mode19 = "clamp_to_border" +mipmap_input19 = "false" +alias19 = "" +float_framebuffer19 = "false" +srgb_framebuffer19 = "true" +scale_type_x19 = "source" +scale_x19 = "2.000000" +scale_type_y19 = "source" +scale_y19 = "2.000000" + +shader20 = ../../shaders/hyllian/crt-super-xbr/super-xbr-pass2.slang +filter_linear20 = "false" +wrap_mode20 = "clamp_to_border" +mipmap_input20 = "false" +alias20 = "" +float_framebuffer20 = "false" +srgb_framebuffer20 = "true" +scale_type_x20 = "source" +scale_x20 = "1.000000" +scale_type_y20 = "source" +scale_y20 = "1.000000" + +shader21 = ../../shaders/hyllian/crt-super-xbr/custom-bicubic-X.slang +filter_linear21 = "false" +wrap_mode21 = "clamp_to_border" +mipmap_input21 = "false" +alias21 = "" +float_framebuffer21 = "false" +srgb_framebuffer21 = "true" +scale_type_x21 = "source" +scale_x21 = "1.000000" +scale_type_y21 = "source" +scale_y21 = "1.000000" + +shader22 = ../../shaders/hyllian/crt-super-xbr/custom-bicubic-y.slang +filter_linear22 = false +scale_type_x22 = source +scale_x22 = 1 +scale_type_y22 = source +scale_y22 = 0.5 +wrap_mode22 = "clamp_to_edge" + +shader23 = ../../shaders/base/stock.slang +alias23 = "PreCRTPass" + +shader24 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear24 = true +scale_type24 = source +scale24 = 1.0 +alias24 = "AfterglowPass" + +shader25 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear25 = true +scale_type25 = source +mipmap_input25 = true +scale25 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader26 = ../../shaders/dogway/hsm-grade.slang +filter_linear26 = true +scale_type26 = source +scale26 = 1.0 + +shader27 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear27 = true +scale_type27 = source +scale_x27 = 1.0 +scale_y27 = 1.0 + +shader28 = ../../shaders/base/stock.slang +filter_linear28 = true +scale_type28 = source +scale_x28 = 1.0 +scale_y28 = 1.0 +alias28 = "PrePass" +mipmap_input28 = true + +shader29 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear29 = true +scale_type29 = source +scale29 = 1.0 +mipmap_input29 = true +alias29 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader30 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear30 = true +scale_type30 = source +scale30 = 1.0 +float_framebuffer30 = true +alias30 = "LinearizePass" + +shader31 = ../../shaders/guest/hsm-gaussian_horizontal.slang +filter_linear31 = true +scale_type_x31 = absolute +scale_x31 = 800.0 +scale_type_y31 = source +scale_y31 = 1.0 +float_framebuffer31 = true + +shader32 = ../../shaders/guest/hsm-gaussian_vertical.slang +filter_linear32 = true +scale_type_x32 = absolute +scale_x32 = 800.0 +scale_type_y32 = absolute +scale_y32 = 600.0 +float_framebuffer32 = true +alias32 = GlowPass + +shader33 = ../../shaders/guest/hsm-bloom_horizontal.slang +filter_linear33 = true +scale_type_x33 = absolute +scale_x33 = 800.0 +scale_type_y33 = absolute +scale_y33 = 600.0 +float_framebuffer33 = true + +shader34 = ../../shaders/guest/hsm-bloom_vertical.slang +filter_linear34 = true +scale_type_x34 = source +scale_x34 = 1.0 +scale_type_y34 = source +scale_y34 = 1.0 +float_framebuffer34 = true +alias34 = BloomPass + +shader35 = ../../shaders/guest/hsm-crt-guest-advanced-no-reflect.slang +filter_linear35 = true +float_framebuffer35 = true +scale_type35 = viewport +scale_x35 = 1.0 +scale_y35 = 1.0 + +shader36 = ../../shaders/guest/hsm-deconvergence-no-reflect.slang +filter_linear36 = true +scale_type36 = viewport +scale_x36 = 1.0 +scale_y36 = 1.0 + +shader37 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias37 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// SMOOTH-ADV +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 + +HSM_DEDITHER_MODE = 3 + +SHARPSMOOTHER_ON = 1 +max_w = 0.05 +min_w = 0 +smoot = 0.4 +lumad = 0.5 +mtric = 0.3 + +SUPERXBR_ON = 1 + +ntsc_scale = 0.55 + +SHARPEN = 0.5 + +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 +HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 +HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 +HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 + +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__EASYMODE.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__EASYMODE.slangp new file mode 100644 index 0000000..7e454d2 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__EASYMODE.slangp @@ -0,0 +1,206 @@ +shaders = 19 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-std-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/base/stock.slang +alias6 = "PreCRTPass" + +shader7 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear7 = true +scale_type7 = source +scale7 = 1.0 +alias7 = "AfterglowPass" + +shader8 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear8 = true +scale_type8 = source +mipmap_input8 = true +scale8 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader9 = ../../shaders/dogway/hsm-grade.slang +filter_linear9 = true +scale_type9 = source +scale9 = 1.0 + +shader10 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear10 = true +scale_type10 = source +scale_x10 = 1.0 +scale_y10 = 1.0 + +shader11 = ../../shaders/base/stock.slang +filter_linear11 = true +scale_type11 = source +scale_x11 = 1.0 +scale_y11 = 1.0 +alias11 = "PrePass" +mipmap_input11 = true + +shader12 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear12 = true +scale_type12 = source +scale12 = 1.0 +mipmap_input12 = true +alias12 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader13 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear13 = true +scale_type13 = source +scale13 = 1.0 +float_framebuffer13 = true +alias13 = "LinearizePass" + +shader14 = ../../shaders/easymode/hsm-crt-easymode-blur_horiz.slang +filter_linear14 = false +srgb_framebuffer14 = true + +shader15 = ../../shaders/easymode/hsm-crt-easymode-blur_vert.slang +filter_linear15 = false +srgb_framebuffer15 = true + +shader16 = ../../shaders/easymode/hsm-crt-easymode-threshold.slang +filter_linear16 = false +srgb_framebuffer16 = true + +// Easymode's Shader! +shader17 = ../../shaders/easymode/hsm-crt-easymode-halation.slang +filter_linear17 = true +scale_type17 = viewport +float_framebuffer17 = true + +shader18 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias18 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// Easymode Parameters +gamma_out = 2.2 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV-MINI-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV-MINI-NTSC.slangp new file mode 100644 index 0000000..f8cf01f --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV-MINI-NTSC.slangp @@ -0,0 +1,225 @@ +shaders = 21 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-std-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/base/stock.slang +alias6 = "PreCRTPass" + +shader7 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear7 = true +scale_type7 = source +scale7 = 1.0 +alias7 = "AfterglowPass" + +shader8 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear8 = true +scale_type8 = source +mipmap_input8 = true +scale8 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader9 = ../../shaders/dogway/hsm-grade.slang +filter_linear9 = true +scale_type9 = source +scale9 = 1.0 + +shader10 = ../../shaders/base/stock.slang +alias10 = "PrePass0" + +shader11 = ../../shaders/guest/ntsc/hsm-ntsc-pass1.slang +filter_linear11 = false +float_framebuffer11 = true +scale_type_x11 = source +scale_type_y11 = source +scale_x11 = 4.0 +scale_y11 = 1.0 +frame_count_mod11 = 2 +alias11 = NPass1 + +shader12 = ../../shaders/guest/ntsc/hsm-ntsc-pass2.slang +float_framebuffer12 = true +filter_linear12 = true +scale_type12 = source +scale_x12 = 0.5 +scale_y12 = 1.0 + +shader13 = ../../shaders/guest/ntsc/hsm-ntsc-pass3.slang +filter_linear13 = true +scale_type13 = source +scale_x13 = 1.0 +scale_y13 = 1.0 + +shader14 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear14 = true +scale_type14 = source +scale_x14 = 1.0 +scale_y14 = 1.0 + +shader15 = ../../shaders/base/stock.slang +filter_linear15 = true +scale_type15 = source +scale_x15 = 1.0 +scale_y15 = 1.0 +alias15 = "PrePass" +mipmap_input15 = true + +shader16 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear16 = true +scale_type16 = source +scale16 = 1.0 +mipmap_input16 = true +alias16 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader17 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear17 = true +scale_type17 = source +scale17 = 1.0 +float_framebuffer17 = true +alias17 = "LinearizePass" + +shader18 = ../../shaders/base/delinearize.slang + +shader19 = ../../shaders/guest/hsm-crt-dariusg-gdv-mini.slang +scale_type19 = viewport +scale_x19 = 1.0 +scale_y19 = 1.0 +filter_linear19 = true + +g_sat = 0.15 + +shader20 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias20 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// NTSC Parameters +GAMMA_INPUT = 2.0 +gamma_out = 1.95 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV-MINI.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV-MINI.slangp new file mode 100644 index 0000000..093db85 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV-MINI.slangp @@ -0,0 +1,195 @@ +shaders = 17 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-std-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/base/stock.slang +alias6 = "PreCRTPass" + +shader7 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear7 = true +scale_type7 = source +scale7 = 1.0 +alias7 = "AfterglowPass" + +shader8 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear8 = true +scale_type8 = source +mipmap_input8 = true +scale8 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader9 = ../../shaders/dogway/hsm-grade.slang +filter_linear9 = true +scale_type9 = source +scale9 = 1.0 + +shader10 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear10 = true +scale_type10 = source +scale_x10 = 1.0 +scale_y10 = 1.0 + +shader11 = ../../shaders/base/stock.slang +filter_linear11 = true +scale_type11 = source +scale_x11 = 1.0 +scale_y11 = 1.0 +alias11 = "PrePass" +mipmap_input11 = true + +shader12 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear12 = true +scale_type12 = source +scale12 = 1.0 +mipmap_input12 = true +alias12 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader13 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear13 = true +scale_type13 = source +scale13 = 1.0 +float_framebuffer13 = true +alias13 = "LinearizePass" + +shader14 = ../../shaders/base/delinearize.slang + +shader15 = ../../shaders/guest/hsm-crt-dariusg-gdv-mini.slang +scale_type15 = viewport +scale_x15 = 1.0 +scale_y15 = 1.0 +filter_linear15 = true + +g_sat = 0.15 + +shader16 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias16 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV-NTSC.slangp new file mode 100644 index 0000000..708faee --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV-NTSC.slangp @@ -0,0 +1,271 @@ +shaders = 26 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-std-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/base/stock.slang +alias6 = "PreCRTPass" + +shader7 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear7 = true +scale_type7 = source +scale7 = 1.0 +alias7 = "AfterglowPass" + +shader8 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear8 = true +scale_type8 = source +mipmap_input8 = true +scale8 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader9 = ../../shaders/dogway/hsm-grade.slang +filter_linear9 = true +scale_type9 = source +scale9 = 1.0 + +shader10 = ../../shaders/base/stock.slang +alias10 = "PrePass0" + +shader11 = ../../shaders/guest/ntsc/hsm-ntsc-pass1.slang +filter_linear11 = false +float_framebuffer11 = true +scale_type_x11 = source +scale_type_y11 = source +scale_x11 = 4.0 +scale_y11 = 1.0 +frame_count_mod11 = 2 +alias11 = NPass1 + +shader12 = ../../shaders/guest/ntsc/hsm-ntsc-pass2.slang +float_framebuffer12 = true +filter_linear12 = true +scale_type12 = source +scale_x12 = 0.5 +scale_y12 = 1.0 + +shader13 = ../../shaders/guest/ntsc/hsm-ntsc-pass3.slang +filter_linear13 = true +scale_type13 = source +scale_x13 = 1.0 +scale_y13 = 1.0 + +shader14 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear14 = true +scale_type14 = source +scale_x14 = 1.0 +scale_y14 = 1.0 + +shader15 = ../../shaders/base/stock.slang +filter_linear15 = true +scale_type15 = source +scale_x15 = 1.0 +scale_y15 = 1.0 +alias15 = "PrePass" +mipmap_input15 = true + +shader16 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear16 = true +scale_type16 = source +scale16 = 1.0 +mipmap_input16 = true +alias16 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader17 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear17 = true +scale_type17 = source +scale17 = 1.0 +float_framebuffer17 = true +alias17 = "LinearizePass" + +shader18 = ../../shaders/guest/hsm-crt-guest-advanced-ntsc-pass1.slang +filter_linear18 = true +scale_type_x18 = viewport +scale_x18 = 1.0 +scale_type_y18 = source +scale_y18 = 1.0 +float_framebuffer18 = true +alias18 = Pass1 + +shader19 = ../../shaders/guest/hsm-gaussian_horizontal.slang +filter_linear19 = true +scale_type_x19 = absolute +scale_x19 = 640.0 +scale_type_y19 = source +scale_y19 = 1.0 +float_framebuffer19 = true + +shader20 = ../../shaders/guest/hsm-gaussian_vertical.slang +filter_linear20 = true +scale_type_x20 = absolute +scale_x20 = 640.0 +scale_type_y20 = absolute +scale_y20 = 480.0 +float_framebuffer20 = true +alias20 = GlowPass + +shader21 = ../../shaders/guest/hsm-bloom_horizontal.slang +filter_linear21 = true +scale_type_x21 = absolute +scale_x21 = 640.0 +scale_type_y21 = absolute +scale_y21 = 480.0 +float_framebuffer21 = true + +shader22 = ../../shaders/guest/hsm-bloom_vertical.slang +filter_linear22 = true +scale_type_x22 = absolute +scale_x22 = 640.0 +scale_type_y22 = absolute +scale_y22 = 480.0 +float_framebuffer22 = true +alias22 = BloomPass + +shader23 = ../../shaders/guest/hsm-crt-guest-advanced-ntsc-pass2-no-reflect.slang +filter_linear23 = true +float_framebuffer23 = true +scale_type23 = viewport +scale_x23 = 1.0 +scale_y23 = 1.0 + +shader24 = ../../shaders/guest/hsm-deconvergence.slang +filter_linear24 = true +scale_type24 = viewport +scale_x24 = 1.0 +scale_y24 = 1.0 + +shader25 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias25 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// NTSC Parameters +GAMMA_INPUT = 2.0 +gamma_out = 1.95 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV.slangp new file mode 100644 index 0000000..02ed877 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV.slangp @@ -0,0 +1,232 @@ +shaders = 21 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-std-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/base/stock.slang +alias6 = "PreCRTPass" + +shader7 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear7 = true +scale_type7 = source +scale7 = 1.0 +alias7 = "AfterglowPass" + +shader8 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear8 = true +scale_type8 = source +mipmap_input8 = true +scale8 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader9 = ../../shaders/dogway/hsm-grade.slang +filter_linear9 = true +scale_type9 = source +scale9 = 1.0 + +shader10 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear10 = true +scale_type10 = source +scale_x10 = 1.0 +scale_y10 = 1.0 + +shader11 = ../../shaders/base/stock.slang +filter_linear11 = true +scale_type11 = source +scale_x11 = 1.0 +scale_y11 = 1.0 +alias11 = "PrePass" +mipmap_input11 = true + +shader12 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear12 = true +scale_type12 = source +scale12 = 1.0 +mipmap_input12 = true +alias12 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader13 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear13 = true +scale_type13 = source +scale13 = 1.0 +float_framebuffer13 = true +alias13 = "LinearizePass" + +shader14 = ../../shaders/guest/hsm-gaussian_horizontal.slang +filter_linear14 = true +scale_type_x14 = absolute +scale_x14 = 800.0 +scale_type_y14 = source +scale_y14 = 1.0 +float_framebuffer14 = true + +shader15 = ../../shaders/guest/hsm-gaussian_vertical.slang +filter_linear15 = true +scale_type_x15 = absolute +scale_x15 = 800.0 +scale_type_y15 = absolute +scale_y15 = 600.0 +float_framebuffer15 = true +alias15 = GlowPass + +shader16 = ../../shaders/guest/hsm-bloom_horizontal.slang +filter_linear16 = true +scale_type_x16 = absolute +scale_x16 = 800.0 +scale_type_y16 = absolute +scale_y16 = 600.0 +float_framebuffer16 = true + +shader17 = ../../shaders/guest/hsm-bloom_vertical.slang +filter_linear17 = true +scale_type_x17 = source +scale_x17 = 1.0 +scale_type_y17 = source +scale_y17 = 1.0 +float_framebuffer17 = true +alias17 = BloomPass + +shader18 = ../../shaders/guest/hsm-crt-guest-advanced-no-reflect.slang +filter_linear18 = true +float_framebuffer18 = true +scale_type18 = viewport +scale_x18 = 1.0 +scale_y18 = 1.0 + +shader19 = ../../shaders/guest/hsm-deconvergence-no-reflect.slang +filter_linear19 = true +scale_type19 = viewport +scale_x19 = 1.0 +scale_y19 = 1.0 + +shader20 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias20 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__LCD-GRID.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__LCD-GRID.slangp new file mode 100644 index 0000000..d63f335 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__LCD-GRID.slangp @@ -0,0 +1,192 @@ +shaders = 17 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-std-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/base/stock.slang +alias6 = "PreCRTPass" + +shader7 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear7 = true +scale_type7 = source +scale7 = 1.0 +alias7 = "AfterglowPass" + +shader8 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear8 = true +scale_type8 = source +mipmap_input8 = true +scale8 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader9 = ../../shaders/dogway/hsm-grade.slang +filter_linear9 = true +scale_type9 = source +scale9 = 1.0 + +shader10 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear10 = true +scale_type10 = source +scale_x10 = 1.0 +scale_y10 = 1.0 + +shader11 = ../../shaders/base/stock.slang +filter_linear11 = true +scale_type11 = source +scale_x11 = 1.0 +scale_y11 = 1.0 +alias11 = "PrePass" +mipmap_input11 = true + +shader12 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear12 = true +scale_type12 = source +scale12 = 1.0 +mipmap_input12 = true +alias12 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader13 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear13 = true +scale_type13 = source +scale13 = 1.0 +float_framebuffer13 = true +alias13 = "LinearizePass" + +shader14 = ../../shaders/base/delinearize.slang + +shader15 = ../../shaders/lcd-cgwg/hsm-lcd-grid-v2.slang +filter_linear15 = "false" +scale_type15 = "viewport" +scale15 = "1.0" + +shader16 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias16 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__MEGATRON-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__MEGATRON-NTSC.slangp new file mode 100644 index 0000000..3c6b4b6 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__MEGATRON-NTSC.slangp @@ -0,0 +1,253 @@ +shaders = 22 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-std-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/base/stock.slang +alias6 = "PreCRTPass" + +shader7 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear7 = true +scale_type7 = source +scale7 = 1.0 +alias7 = "AfterglowPass" + +shader8 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear8 = true +scale_type8 = source +mipmap_input8 = true +scale8 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader9 = ../../shaders/dogway/hsm-grade.slang +filter_linear9 = true +scale_type9 = source +scale9 = 1.0 + +shader10 = ../../shaders/base/stock.slang +alias10 = "PrePass0" + +shader11 = ../../shaders/guest/ntsc/hsm-ntsc-pass1.slang +filter_linear11 = false +float_framebuffer11 = true +scale_type_x11 = source +scale_type_y11 = source +scale_x11 = 4.0 +scale_y11 = 1.0 +frame_count_mod11 = 2 +alias11 = NPass1 + +shader12 = ../../shaders/guest/ntsc/hsm-ntsc-pass2.slang +float_framebuffer12 = true +filter_linear12 = true +scale_type12 = source +scale_x12 = 0.5 +scale_y12 = 1.0 + +shader13 = ../../shaders/guest/ntsc/hsm-ntsc-pass3.slang +filter_linear13 = true +scale_type13 = source +scale_x13 = 1.0 +scale_y13 = 1.0 + +shader14 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear14 = true +scale_type14 = source +scale_x14 = 1.0 +scale_y14 = 1.0 + +shader15 = ../../shaders/base/stock.slang +filter_linear15 = true +scale_type15 = source +scale_x15 = 1.0 +scale_y15 = 1.0 +alias15 = "PrePass" +mipmap_input15 = true + +shader16 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear16 = true +scale_type16 = source +scale16 = 1.0 +mipmap_input16 = true +alias16 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader17 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear17 = true +scale_type17 = source +scale17 = 1.0 +float_framebuffer17 = true +alias17 = "LinearizePass" +feedback_pass = "0" + +// Sony Megatron Colour Video Monitor by Major Pain The Cactus +shader18 = "../../shaders/megatron/crt-sony-megatron-source-pass.slang" +filter_linear18 = "false" +scale_type18 = "source" +scale18 = "1.0" +wrap_mode18 = "clamp_to_border" +mipmap_input18 = "false" +alias18 = "SourceSDR" +float_framebuffer18 = "true" + +shader19 = "../../shaders/megatron/crt-sony-megatron-hdr-pass.slang" +filter_linear19 = "false" +scale_type19 = "source" +scale19 = "1.0" +wrap_mode19 = "clamp_to_border" +mipmap_input19 = "false" +alias19 = "SourceHDR" +float_framebuffer19 = "true" + +shader20 = "../../shaders/megatron/crt-sony-megatron-no-reflect.slang" +filter_linear20 = "false" +wrap_mode20 = "clamp_to_border" +mipmap_input20 = "false" +alias20 = "" +float_framebuffer20 = "false" +srgb_framebuffer20 = "false" +scale_type20 = "viewport" + +shader21 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias21 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// Sony Megatron Color Monitor +hcrt_hdr = "0.000000" +hcrt_gamma_in = "2.020000" + +HSM_INT_SCALE_MODE = "1.000000" +HSM_CRT_CURVATURE_SCALE = "0.000000" +HSM_GLOBAL_GRAPHICS_BRIGHTNESS = "40.000000" +HSM_REFLECT_GLOBAL_AMOUNT = "300.000000" + +// NTSC Parameters +GAMMA_INPUT = 2.0 +gamma_out = 1.95 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__MEGATRON.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__MEGATRON.slangp new file mode 100644 index 0000000..2ee99a5 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__MEGATRON.slangp @@ -0,0 +1,223 @@ +shaders = 18 + +shader0 = ../../shaders/base/add-params-no-reflect.slang +alias0 = "CorePass" + +shader1 = ../../shaders/base/stock.slang +filter_linear1 = false +srgb_framebuffer1 = true +scale_type1 = source +scale_x1 = 1 +scale_y1 = 1 +alias1 = "DerezedPass" + +shader2 = ../../shaders/base/add-negative-crop-area.slang +filter_linear2 = false +mipmap_input2 = false +srgb_framebuffer2 = true +scale_type2 = source +scale_x2 = 1 +scale_y2 = 1 +alias2 = "NegativeCropAddedPass" + +shader3 = ../../shaders/base/cache-info-no-reflect-params.slang +filter_linear3 = false +scale_type3 = source +scale3 = 1.0 +alias3 = "InfoCachePass" + +shader4 = ../../shaders/base/text-std-no-reflect.slang +filter_linear4 = false +float_framebuffer4 = true +scale_type4 = source +scale4 = 1.0 +alias4 = "TextPass" + +shader5 = ../../shaders/base/intro.slang +filter_linear5 = false +float_framebuffer5 = true +scale_type5 = source +scale5 = 1.0 +alias5 = "IntroPass" + +shader6 = ../../shaders/base/stock.slang +alias6 = "PreCRTPass" + +shader7 = ../../shaders/guest/hsm-afterglow0.slang +filter_linear7 = true +scale_type7 = source +scale7 = 1.0 +alias7 = "AfterglowPass" + +shader8 = ../../shaders/guest/hsm-pre-shaders-afterglow.slang +filter_linear8 = true +scale_type8 = source +mipmap_input8 = true +scale8 = 1.0 + +// Color Correction with Dogway's awesome Grade shader +// Grade is after Afterglow so that brightening the black level does not break the afterglow +shader9 = ../../shaders/dogway/hsm-grade.slang +filter_linear9 = true +scale_type9 = source +scale9 = 1.0 + +shader10 = ../../shaders/guest/hsm-custom-fast-sharpen.slang +filter_linear10 = true +scale_type10 = source +scale_x10 = 1.0 +scale_y10 = 1.0 + +shader11 = ../../shaders/base/stock.slang +filter_linear11 = true +scale_type11 = source +scale_x11 = 1.0 +scale_y11 = 1.0 +alias11 = "PrePass" +mipmap_input11 = true + +shader12 = ../../shaders/guest/hsm-avg-lum.slang +filter_linear12 = true +scale_type12 = source +scale12 = 1.0 +mipmap_input12 = true +alias12 = "AvgLumPass" + +// Pass referenced by subsequent blurring passes and crt pass +shader13 = ../../shaders/guest/hsm-interlace-and-linearize.slang +filter_linear13 = true +scale_type13 = source +scale13 = 1.0 +float_framebuffer13 = true +alias13 = "LinearizePass" +feedback_pass = "0" + +// Sony Megatron Colour Video Monitor by Major Pain The Cactus +shader14 = "../../shaders/megatron/crt-sony-megatron-source-pass.slang" +filter_linear14 = "false" +scale_type14 = "source" +scale14 = "1.0" +wrap_mode14 = "clamp_to_border" +mipmap_input14 = "false" +alias14 = "SourceSDR" +float_framebuffer14 = "true" + +shader15 = "../../shaders/megatron/crt-sony-megatron-hdr-pass.slang" +filter_linear15 = "false" +scale_type15 = "source" +scale15 = "1.0" +wrap_mode15 = "clamp_to_border" +mipmap_input15 = "false" +alias15 = "SourceHDR" +float_framebuffer15 = "true" + +shader16 = "../../shaders/megatron/crt-sony-megatron-no-reflect.slang" +filter_linear16 = "false" +wrap_mode16 = "clamp_to_border" +mipmap_input16 = "false" +alias16 = "" +float_framebuffer16 = "false" +srgb_framebuffer16 = "false" +scale_type16 = "viewport" + +shader17 = ../../shaders/base/post-crt-prep-no-reflect.slang +alias17 = "MBZ_PostCRTPass" +// Define textures to be used by the different passes +textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4;IntroImage;ScreenPlacementImage;TubeDiffuseImage;TubeColoredGelImage;TubeShadowImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;FrameTextureImage;CabinetGlassImage;DeviceImage;DeviceVertImage;DeviceLEDImage;DecalImage;NightLightingImage;NightLighting2Image;LEDImage;TopLayerImage;" + +SamplerLUT1 = ../../shaders/guest/lut/trinitron-lut.png +SamplerLUT1_linear = true +SamplerLUT2 = ../../shaders/guest/lut/inv-trinitron-lut.png +SamplerLUT2_linear = true +SamplerLUT3 = ../../shaders/guest/lut/nec-lut.png +SamplerLUT3_linear = true +SamplerLUT4 = ../../shaders/guest/lut/ntsc-lut.png +SamplerLUT4_linear = true + +IntroImage = ../../shaders/textures/IntroImage_MegaBezelLogo.png +IntroImage_linear = true +IntroImage_mipmap = 1 + +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage_linear = false + +TubeDiffuseImage = ../../shaders/textures/Tube_Diffuse_2390x1792.png +TubeDiffuseImage_linear = true +TubeDiffuseImage_mipmap = 1 + +TubeColoredGelImage = ../../shaders/textures/Colored_Gel_Rainbow.png +TubeColoredGelImage_linear = true +TubeColoredGelImage_mipmap = 1 + +TubeShadowImage = ../../shaders/textures/Tube_Shadow_1600x1200.png +TubeShadowImage_linear = true +TubeShadowImage_mipmap = 1 + +TubeStaticReflectionImage = ../../shaders/textures/TubeGlassOverlayImageCropped_1440x1080.png +TubeStaticReflectionImage_linear = true +TubeStaticReflectionImage_mipmap = 1 + +ReflectionMaskImage = ../../shaders/textures/Placeholder_White_16x16.png +ReflectionMaskImage_linear = true +ReflectionMaskImage_mipmap = 1 + +FrameTextureImage = ../../shaders/textures/FrameTexture_2800x2120.png +FrameTextureImage_linear = true +FrameTextureImage_mipmap = 1 + +BackgroundImage = ../../shaders/textures/BackgroundImage_Carbon_3840x2160.png +BackgroundImage_linear = true +BackgroundImage_mipmap = 1 + +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage_linear = true +BackgroundVertImage_mipmap = 1 + +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage_linear = true +CabinetGlassImage_mipmap = 1 + +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage_linear = true +DeviceImage_mipmap = 1 + +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage_linear = true +DeviceVertImage_mipmap = 1 + +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage_linear = true +DeviceLEDImage_mipmap = 1 + +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage_linear = true +DecalImage_mipmap = 1 + +NightLightingImage = ../../shaders/textures/NightLightingClose_1920x1080.png +NightLightingImage_linear = true +NightLightingImage_mipmap = 1 + +NightLighting2Image = ../../shaders/textures/NightLightingFar_1920x1080.png +NightLighting2Image_linear = true +NightLighting2Image_mipmap = 1 + +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage_linear = true +LEDImage_mipmap = 1 + +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage_linear = true +TopLayerImage_mipmap = 1 + +// Use for matching vanilla GDV-Advanced +// HSM_ASPECT_RATIO_MODE = 6 +// HSM_CURVATURE_MODE = 0 + +// Sony Megatron Color Monitor +hcrt_hdr = "0.000000" +hcrt_gamma_in = "2.020000" + +HSM_INT_SCALE_MODE = "1.000000" +HSM_CRT_CURVATURE_SCALE = "0.000000" +HSM_GLOBAL_GRAPHICS_BRIGHTNESS = "40.000000" +HSM_REFLECT_GLOBAL_AMOUNT = "300.000000" diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__5__POTATO-SUPER-XBR__GDV-NTSC.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__5__POTATO-SUPER-XBR__GDV-NTSC.slangp index 6caf130..a56f132 100644 --- a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__5__POTATO-SUPER-XBR__GDV-NTSC.slangp +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__5__POTATO-SUPER-XBR__GDV-NTSC.slangp @@ -303,17 +303,17 @@ SUPERXBR_ON = 1 ntsc_scale = 0.55 -SHARPEN = 0 +SHARPEN = 0.5 -HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 -gamma_c = 0.9 -gsl = -1 -scanline1 = 3 -shadowMask = 3 -maskDark = 0.4 -maskLight = 1.2 -mask_gamma = 4 +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__5__POTATO-SUPER-XBR__GDV.slangp b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__5__POTATO-SUPER-XBR__GDV.slangp index 5d3e2bf..be140d9 100644 --- a/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__5__POTATO-SUPER-XBR__GDV.slangp +++ b/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__5__POTATO-SUPER-XBR__GDV.slangp @@ -264,17 +264,17 @@ SUPERXBR_ON = 1 ntsc_scale = 0.55 -SHARPEN = 0 +SHARPEN = 0.5 -HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 300 +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 600 HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 -gamma_c = 0.9 -gsl = -1 -scanline1 = 3 -shadowMask = 3 -maskDark = 0.4 -maskLight = 1.2 -mask_gamma = 4 +// gamma_c = 0.9 +// gsl = -1 +// scanline1 = 3 +// shadowMask = 3 +// maskDark = 0.4 +// maskLight = 1.2 +// mask_gamma = 4 diff --git a/bezel/Mega_Bezel/Presets/Variations/Guest-Slotmask-4K.slangp b/bezel/Mega_Bezel/Presets/Variations/Guest-Slotmask-4K.slangp new file mode 100644 index 0000000..9801467 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Guest-Slotmask-4K.slangp @@ -0,0 +1,44 @@ +#reference "../Base_CRT_Presets/MBZ__1__ADV__GDV.slangp" + +g_grade_on = "0.000000" +CS = "2.000000" +TNTC = "1.000000" +WP = "-75.000000" +wp_saturation = "1.150000" +SIZEHB = "3.000000" +SIGMA_HB = "0.750000" +SIZEVB = "3.000000" +SIGMA_VB = "0.750000" +bloom = "0.700000" +halation = "0.100000" +gamma_c = "1.360000" +brightboost = "1.300001" +brightboost1 = "1.250000" +gsl = "-1.000000" +scanline1 = "2.500000" +scanline2 = "14.000000" +beam_min = "1.800000" +beam_max = "0.775000" +beam_size = "0.750000" +scans = "1.650000" +scan_falloff = "0.650000" +spike = "1.500000" +h_sharp = "3.000002" +s_sharp = "1.000000" +sth = "0.300000" +csize = "0.115000" +bsize1 = "0.300000" +warpX = "0.040000" +warpY = "0.050000" +shadowMask = "10.000000" +maskstr = "1.000000" +mask_gamma = "2.399999" +slotmask = "1.000000" +slotmask1 = "1.000000" +slotwidth = "4.000000" +double_slot = "2.000000" +mclip = "0.350000" +gamma_out = "2.200000" +deconrry = "1.250000" +deconrby = "-1.250000" +decons = "1.400000" \ No newline at end of file diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__0__SMOOTH-ADV-NO-REFLECT.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__0__SMOOTH-ADV-NO-REFLECT.slangp deleted file mode 100644 index 3458520..0000000 --- a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__0__SMOOTH-ADV-NO-REFLECT.slangp +++ /dev/null @@ -1,20 +0,0 @@ -#reference "../../Base_CRT_Presets/MBZ__0__SMOOTH-ADV-NO-REFLECT__GDV.slangp" - -BackgroundImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -BackgroundVertImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -NightLightingImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -FrameTextureImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png - -// Parameters -HSM_ASPECT_RATIO_MODE = 0 -HSM_INT_SCALE_MODE = 1 -HSM_INT_SCALE_MAX_HEIGHT = 115 -HSM_CURVATURE_MODE = 0 -HSM_GLOBAL_CORNER_RADIUS = 4 -HSM_TUBE_BLACK_EDGE_SHARPNESS = 90 -HSM_SCREEN_VIGNETTE_ON = 0 -HSM_BG_OPACITY = 0 -HSM_BZL_OPACITY = 0 -HSM_FRM_OPACITY = 0 - - diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__0__SMOOTH-ADV-NO-REFLECT__NTSC.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__0__SMOOTH-ADV-NO-REFLECT__NTSC.slangp deleted file mode 100644 index c8c2cd0..0000000 --- a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__0__SMOOTH-ADV-NO-REFLECT__NTSC.slangp +++ /dev/null @@ -1,20 +0,0 @@ -#reference "../../Base_CRT_Presets/MBZ__0__SMOOTH-ADV-NO-REFLECT__GDV-NTSC.slangp" - -BackgroundImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -BackgroundVertImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -NightLightingImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -FrameTextureImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png - -// Parameters -HSM_ASPECT_RATIO_MODE = 0 -HSM_INT_SCALE_MODE = 1 -HSM_INT_SCALE_MAX_HEIGHT = 115 -HSM_CURVATURE_MODE = 0 -HSM_GLOBAL_CORNER_RADIUS = 4 -HSM_TUBE_BLACK_EDGE_SHARPNESS = 90 -HSM_SCREEN_VIGNETTE_ON = 0 -HSM_BG_OPACITY = 0 -HSM_BZL_OPACITY = 0 -HSM_FRM_OPACITY = 0 - - diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__2__ADV-NO-REFLECT.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__2__ADV-NO-REFLECT.slangp deleted file mode 100644 index a7862ab..0000000 --- a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__2__ADV-NO-REFLECT.slangp +++ /dev/null @@ -1,19 +0,0 @@ -#reference "../../Base_CRT_Presets/MBZ__2__ADV-NO-REFLECT__GDV.slangp" - -BackgroundImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -BackgroundVertImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -NightLightingImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -FrameTextureImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png - -// Parameters -HSM_ASPECT_RATIO_MODE = 0 -HSM_INT_SCALE_MODE = 1 -HSM_INT_SCALE_MAX_HEIGHT = 115 -HSM_CURVATURE_MODE = 0 -HSM_GLOBAL_CORNER_RADIUS = 4 -HSM_TUBE_BLACK_EDGE_SHARPNESS = 90 -HSM_SCREEN_VIGNETTE_ON = 0 -HSM_BG_OPACITY = 0 -HSM_BZL_OPACITY = 0 -HSM_FRM_OPACITY = 0 - diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__2__ADV-NO-REFLECT__NTSC.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__2__ADV-NO-REFLECT__NTSC.slangp deleted file mode 100644 index b24e9ec..0000000 --- a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__2__ADV-NO-REFLECT__NTSC.slangp +++ /dev/null @@ -1,19 +0,0 @@ -#reference "../../Base_CRT_Presets/MBZ__2__ADV-NO-REFLECT__GDV-NTSC.slangp" - -BackgroundImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -BackgroundVertImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -NightLightingImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -FrameTextureImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png - -// Parameters -HSM_ASPECT_RATIO_MODE = 0 -HSM_INT_SCALE_MODE = 1 -HSM_INT_SCALE_MAX_HEIGHT = 115 -HSM_CURVATURE_MODE = 0 -HSM_GLOBAL_CORNER_RADIUS = 4 -HSM_TUBE_BLACK_EDGE_SHARPNESS = 90 -HSM_SCREEN_VIGNETTE_ON = 0 -HSM_BG_OPACITY = 0 -HSM_BZL_OPACITY = 0 -HSM_FRM_OPACITY = 0 - diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__4__STD-NO-REFLECT.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__4__STD-NO-REFLECT.slangp deleted file mode 100644 index 4fddfb1..0000000 --- a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__4__STD-NO-REFLECT.slangp +++ /dev/null @@ -1,19 +0,0 @@ -#reference "../../Base_CRT_Presets/MBZ__4__STD-NO-REFLECT__GDV.slangp" - -BackgroundImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -BackgroundVertImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -NightLightingImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -FrameTextureImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png - -// Parameters -HSM_ASPECT_RATIO_MODE = 0 -HSM_INT_SCALE_MODE = 1 -HSM_INT_SCALE_MAX_HEIGHT = 115 -HSM_CURVATURE_MODE = 0 -HSM_GLOBAL_CORNER_RADIUS = 4 -HSM_TUBE_BLACK_EDGE_SHARPNESS = 90 -HSM_SCREEN_VIGNETTE_ON = 0 -HSM_BG_OPACITY = 0 -HSM_BZL_OPACITY = 0 -HSM_FRM_OPACITY = 0 - diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__4__STD-NO-REFLECT__NTSC.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__4__STD-NO-REFLECT__NTSC.slangp deleted file mode 100644 index ea955a6..0000000 --- a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__4__STD-NO-REFLECT__NTSC.slangp +++ /dev/null @@ -1,19 +0,0 @@ -#reference "../../Base_CRT_Presets/MBZ__4__STD-NO-REFLECT__GDV-NTSC.slangp" - -BackgroundImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -BackgroundVertImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -NightLightingImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -FrameTextureImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png - -// Parameters -HSM_ASPECT_RATIO_MODE = 0 -HSM_INT_SCALE_MODE = 1 -HSM_INT_SCALE_MAX_HEIGHT = 115 -HSM_CURVATURE_MODE = 0 -HSM_GLOBAL_CORNER_RADIUS = 4 -HSM_TUBE_BLACK_EDGE_SHARPNESS = 90 -HSM_SCREEN_VIGNETTE_ON = 0 -HSM_BG_OPACITY = 0 -HSM_BZL_OPACITY = 0 -HSM_FRM_OPACITY = 0 - diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__5__POTATO__NTSC.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__5__POTATO__NTSC.slangp deleted file mode 100644 index 4c46ef5..0000000 --- a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__5__POTATO__NTSC.slangp +++ /dev/null @@ -1,19 +0,0 @@ -#reference "../../Base_CRT_Presets/MBZ__5__POTATO__GDV-NTSC.slangp" - -BackgroundImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -BackgroundVertImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -NightLightingImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png -FrameTextureImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png - -// Parameters -HSM_ASPECT_RATIO_MODE = 0 -HSM_INT_SCALE_MODE = 1 -HSM_INT_SCALE_MAX_HEIGHT = 115 -HSM_CURVATURE_MODE = 0 -HSM_GLOBAL_CORNER_RADIUS = 4 -HSM_TUBE_BLACK_EDGE_SHARPNESS = 90 -HSM_SCREEN_VIGNETTE_ON = 0 -HSM_BG_OPACITY = 0 -HSM_BZL_OPACITY = 0 -HSM_FRM_OPACITY = 0 - diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__5__POTATO.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale.params similarity index 90% rename from bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__5__POTATO.slangp rename to bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale.params index 6e89f63..616ea0e 100644 --- a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale-No-Bezel__5__POTATO.slangp +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale.params @@ -1,5 +1,3 @@ -#reference "../../Base_CRT_Presets/MBZ__5__POTATO__GDV.slangp" - BackgroundImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png BackgroundVertImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png NightLightingImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png @@ -17,3 +15,4 @@ HSM_BG_OPACITY = 0 HSM_BZL_OPACITY = 0 HSM_FRM_OPACITY = 0 + diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__0__SMOOTH-ADV-SCREEN-ONLY.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__0__SMOOTH-ADV-SCREEN-ONLY.slangp new file mode 100644 index 0000000..23187d5 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__0__SMOOTH-ADV-SCREEN-ONLY.slangp @@ -0,0 +1,3 @@ +#reference "../../Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__GDV.slangp" +#reference "Max-Int-Scale.params" + diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__0__SMOOTH-ADV-SCREEN-ONLY__NTSC.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__0__SMOOTH-ADV-SCREEN-ONLY__NTSC.slangp new file mode 100644 index 0000000..d7b93d3 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__0__SMOOTH-ADV-SCREEN-ONLY__NTSC.slangp @@ -0,0 +1,3 @@ +#reference "../../Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__GDV-NTSC.slangp" +#reference "Max-Int-Scale.params" + diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY-SUPER-XBR.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY-SUPER-XBR.slangp new file mode 100644 index 0000000..d3fec9f --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY-SUPER-XBR.slangp @@ -0,0 +1,2 @@ +#reference "../../Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY-SUPER-XBR__GDV.slangp" +#reference "Max-Int-Scale.params" diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY-SUPER-XBR__NTSC.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY-SUPER-XBR__NTSC.slangp new file mode 100644 index 0000000..815a156 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY-SUPER-XBR__NTSC.slangp @@ -0,0 +1,2 @@ +#reference "../../Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY-SUPER-XBR__GDV-NTSC.slangp" +#reference "Max-Int-Scale.params" diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY.slangp new file mode 100644 index 0000000..6f242a1 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY.slangp @@ -0,0 +1,2 @@ +#reference "../../Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__GDV.slangp" +#reference "Max-Int-Scale.params" diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY__NTSC.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY__NTSC.slangp new file mode 100644 index 0000000..77bc7c6 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__2__ADV-SCREEN-ONLY__NTSC.slangp @@ -0,0 +1,2 @@ +#reference "../../Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__GDV-NTSC.slangp" +#reference "Max-Int-Scale.params" diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY-SUPER-XBR.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY-SUPER-XBR.slangp new file mode 100644 index 0000000..ec6b52f --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY-SUPER-XBR.slangp @@ -0,0 +1,2 @@ +#reference "../../Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY-SUPER-XBR__GDV.slangp" +#reference "Max-Int-Scale.params" diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY-SUPER-XBR__NTSC.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY-SUPER-XBR__NTSC.slangp new file mode 100644 index 0000000..5a9e744 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY-SUPER-XBR__NTSC.slangp @@ -0,0 +1,2 @@ +#reference "../../Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY-SUPER-XBR__GDV-NTSC.slangp" +#reference "Max-Int-Scale.params" diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY.slangp new file mode 100644 index 0000000..3a3f5d1 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY.slangp @@ -0,0 +1,2 @@ +#reference "../../Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV.slangp" +#reference "Max-Int-Scale.params" diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY__NTSC.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY__NTSC.slangp new file mode 100644 index 0000000..f6d0b3c --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__4__STD-SCREEN-ONLY__NTSC.slangp @@ -0,0 +1,2 @@ +#reference "../../Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV-NTSC.slangp" +#reference "Max-Int-Scale.params" diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO-SUPER-XBR.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO-SUPER-XBR.slangp new file mode 100644 index 0000000..057e618 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO-SUPER-XBR.slangp @@ -0,0 +1,2 @@ +#reference "../../Base_CRT_Presets/MBZ__5__POTATO-SUPER-XBR__GDV.slangp" +#reference "Max-Int-Scale.params" diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO-SUPER-XBR__NTSC.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO-SUPER-XBR__NTSC.slangp new file mode 100644 index 0000000..66c4689 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO-SUPER-XBR__NTSC.slangp @@ -0,0 +1,2 @@ +#reference "../../Base_CRT_Presets/MBZ__5__POTATO-SUPER-XBR__GDV-NTSC.slangp" +#reference "Max-Int-Scale.params" diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO.slangp new file mode 100644 index 0000000..533ba8b --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO.slangp @@ -0,0 +1,2 @@ +#reference "../../Base_CRT_Presets/MBZ__5__POTATO__GDV.slangp" +#reference "Max-Int-Scale.params" diff --git a/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO__NTSC.slangp b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO__NTSC.slangp new file mode 100644 index 0000000..f312034 --- /dev/null +++ b/bezel/Mega_Bezel/Presets/Variations/Max-Int-Scale/Max-Int-Scale__5__POTATO__NTSC.slangp @@ -0,0 +1,2 @@ +#reference "../../Base_CRT_Presets/MBZ__5__POTATO__GDV-NTSC.slangp" +#reference "Max-Int-Scale.params" diff --git a/bezel/Mega_Bezel/README.md b/bezel/Mega_Bezel/README.md index b6c40dc..b7e8d73 100644 --- a/bezel/Mega_Bezel/README.md +++ b/bezel/Mega_Bezel/README.md @@ -3,7 +3,7 @@ Mega Bezel Shader Readme ------------------------------------------------------------------------------------------------------------ ![Mega Bezel Logo](MegaBezelLogo.png) -**Version V1.4.2_2022-09-27** +**Version V1.4.3_2022-10-09** ---------------------------------------- ---------------------------------------- diff --git a/bezel/Mega_Bezel/resource/docs/all-parameters.params b/bezel/Mega_Bezel/resource/docs/all-parameters.params new file mode 100644 index 0000000..9cca717 --- /dev/null +++ b/bezel/Mega_Bezel/resource/docs/all-parameters.params @@ -0,0 +1,276 @@ + +HSM_RESOLUTION_DEBUG_ON = 0 + +//--------------------------------------------------------------------------------------------------- +// CRT BRIGHTNESS & GAMMA +//--------------------------------------------------------------------------------------------------- + +GAMMA_INPUT = 2.4 +gamma_out = 2.4 +post_br = 1 +post_br_affect_black_level = 100 + +//--------------------------------------------------------------------------------------------------- +// Global Graphics Caching +//--------------------------------------------------------------------------------------------------- +HSM_CACHE_GRAPHICS_ON = 1 +HSM_CACHE_UPDATE_INDICATOR_MODE = 2 + +//--------------------------------------------------------------------------------------------------- +// Global Graphics Brightness +//--------------------------------------------------------------------------------------------------- +HSM_GLOBAL_GRAPHICS_BRIGHTNESS = 100 +HSM_STATIC_LAYERS_GAMMA = 1 + +//--------------------------------------------------------------------------------------------------- +// AMBIENT LIGHTING AKA NIGHTLIGHTING +//--------------------------------------------------------------------------------------------------- +HSM_AMBIENT_LIGHTING_OPACITY = 0 +HSM_AMBIENT1_OPACITY = 100 +HSM_AMBIENT2_OPACITY = 100 +HSM_AMBIENT_LIGHTING_SWAP_IMAGE_MODE = 0 + +//--------------------------------------------------------------------------------------------------- +// Zoom & Pan +//--------------------------------------------------------------------------------------------------- +HSM_VIEWPORT_ZOOM = 100 +HSM_VIEWPORT_ZOOM_MASK = 0 +HSM_VIEWPORT_POSITION_X = 0 +HSM_VIEWPORT_POSITION_Y = 0 + +//--------------------------------------------------------------------------------------------------- +// FLIP & ROTATE +//--------------------------------------------------------------------------------------------------- +HSM_FLIP_VIEWPORT_VERTICAL = 0 +HSM_FLIP_VIEWPORT_HORIZONTAL = 0 +HSM_FLIP_CORE_VERTICAL = 0 +HSM_FLIP_CORE_HORIZONTAL = 0 +HSM_ROTATE_CORE_IMAGE = 0 + +//--------------------------------------------------------------------------------------------------- +// ASPECT RATIO +//--------------------------------------------------------------------------------------------------- +HSM_ASPECT_RATIO_ORIENTATION = 0 +HSM_ASPECT_RATIO_MODE = 0 +HSM_ASPECT_RATIO_EXPLICIT = 0 + +//--------------------------------------------------------------------------------------------------- +// CRT SCREEN SCALING GENERAL +//--------------------------------------------------------------------------------------------------- +HSM_INT_SCALE_MODE = 0 +HSM_VERTICAL_PRESET = 0 + +//--------------------------------------------------------------------------------------------------- +// INTEGER SCALE +//--------------------------------------------------------------------------------------------------- +HSM_INT_SCALE_MAX_HEIGHT = 89 +HSM_INT_SCALE_MULTIPLE_OFFSET = 0 +HSM_INT_SCALE_MULTIPLE_OFFSET_LONG = 0 + +//--------------------------------------------------------------------------------------------------- +// NON-INTEGER SCALE PERCENT +//--------------------------------------------------------------------------------------------------- +HSM_NON_INTEGER_SCALE = 82.97 + +//--------------------------------------------------------------------------------------------------- +// NON-INTEGER - PHYSICAL SIZES +//--------------------------------------------------------------------------------------------------- +HSM_USE_PHYSICAL_SIZE_FOR_NON_INTEGER = 0 +HSM_PHYSICAL_MONITOR_ASPECT_RATIO = 1.77 +HSM_PHYSICAL_MONITOR_DIAGONAL_SIZE = 27 +HSM_PHYSICAL_SIM_TUBE_DIAGONAL_SIZE = 18.1 + +//--------------------------------------------------------------------------------------------------- +// NON-INTEGER - AUTOMATIC SCREEN SCALE & PLACEMENT +//--------------------------------------------------------------------------------------------------- +HSM_USE_IMAGE_FOR_PLACEMENT = 0 +HSM_PLACEMENT_IMAGE_USE_HORIZONTAL = 0 +HSM_PLACEMENT_IMAGE_MODE = 0 + +//--------------------------------------------------------------------------------------------------- +// NON-INTEGER SCALE OFFSET +//--------------------------------------------------------------------------------------------------- +HSM_NON_INTEGER_SCALE_OFFSET = 100 + +//--------------------------------------------------------------------------------------------------- +// SNAP NON-INTEGER TO CLOSEST INTEGER SCALE +//--------------------------------------------------------------------------------------------------- +HSM_USE_SNAP_TO_CLOSEST_INT_SCALE = 0 +HSM_SNAP_TO_CLOSEST_INT_SCALE_TOLERANCE = 20 + +//--------------------------------------------------------------------------------------------------- +// POSITION OFFSET +//--------------------------------------------------------------------------------------------------- +HSM_SCREEN_POSITION_X = 0 +HSM_SCREEN_POSITION_Y = 0 + +//--------------------------------------------------------------------------------------------------- +// CROPPING CORE IMAGE +//--------------------------------------------------------------------------------------------------- +HSM_CROP_MODE = 2 +HSM_CROP_PERCENT_ZOOM = 0 +HSM_CROP_PERCENT_TOP = 0 +HSM_CROP_PERCENT_BOTTOM = 0 +HSM_CROP_PERCENT_LEFT = 0 +HSM_CROP_PERCENT_RIGHT = 0 +HSM_CROP_BLACK_THRESHOLD = 0 + +//--------------------------------------------------------------------------------------------------- +// SCANLINE DIRECTION +//--------------------------------------------------------------------------------------------------- +HSM_SCANLINE_DIRECTION = 0 + +//--------------------------------------------------------------------------------------------------- +// DREZ DOWNSAMPLE FILTER - HYLLIAN - DREZ PRESETS ONLY +//--------------------------------------------------------------------------------------------------- +C_FILTER_MODE = 0 + +//--------------------------------------------------------------------------------------------------- +// CORE RES SAMPLING +//--------------------------------------------------------------------------------------------------- +HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = 100 +HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 +HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100 +HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 +HSM_CORE_RES_SAMPLING_SHIFT_OPPOSITE_DIR = 0 + +//--------------------------------------------------------------------------------------------------- +// FAST SHARPEN - GUEST.R +//--------------------------------------------------------------------------------------------------- +SHARPEN = 0 +CONTR = 0.05 +DETAILS = 1 + +//--------------------------------------------------------------------------------------------------- +// INTERLACING From Guest.r +//--------------------------------------------------------------------------------------------------- +HSM_INTERLACE_TRIGGER_RES = 650 +HSM_INTERLACE_MODE = 4 +HSM_INTERLACE_EFFECT_SMOOTHNESS_INTERS = 0 +HSM_INTERLACE_SCANLINE_EFFECT = 20 +icans = 0.25 + +//--------------------------------------------------------------------------------------------------- +// FAKE SCANLINES +//--------------------------------------------------------------------------------------------------- +HSM_FAKE_SCANLINE_MODE = 2 +HSM_FAKE_SCANLINE_OPACITY = 70 +HSM_FAKE_SCANLINE_RES_MODE = 1 +HSM_FAKE_SCANLINE_RES = 240 +HSM_FAKE_SCANLINE_INT_SCALE = 1 +HSM_FAKE_SCANLINE_ROLL = 0 +HSM_FAKE_SCANLINE_CURVATURE = 0 + +//--------------------------------------------------------------------------------------------------- +// CURVATURE +//--------------------------------------------------------------------------------------------------- +HSM_CURVATURE_MODE = 1 +HSM_CURVATURE_2D_SCALE_LONG_AXIS = 100 +HSM_CURVATURE_2D_SCALE_SHORT_AXIS = 100 +HSM_CURVATURE_3D_RADIUS = 200 +HSM_CURVATURE_3D_VIEW_DIST = 150 +HSM_CURVATURE_3D_TILT_ANGLE_X = 0 +HSM_CURVATURE_3D_TILT_ANGLE_Y = 0 +HSM_CRT_CURVATURE_SCALE = 100 + +//--------------------------------------------------------------------------------------------------- +// ANTI-FLICKER +//--------------------------------------------------------------------------------------------------- +HSM_ANTI_FLICKER_ON = 0 +HSM_ANTI_FLICKER_THRESHOLD = 25 + +//--------------------------------------------------------------------------------------------------- +// A/B SPLITSCREEN COMPARE +//--------------------------------------------------------------------------------------------------- +HSM_AB_COMPARE_SHOW_MODE = 0 +HSM_AB_COMPARE_AREA = 0 +HSM_AB_COMPARE_SPLIT_POSITION = 50 +HSM_AB_COMPARE_FREEZE_CRT_TUBE = 0 +HSM_AB_COMPARE_FREEZE_GRAPHICS = 0 + +//--------------------------------------------------------------------------------------------------- +// SCREEN VIGNETTE +//--------------------------------------------------------------------------------------------------- +HSM_SCREEN_VIGNETTE_ON = 1 +HSM_SCREEN_VIGNETTE_DUALSCREEN_VIS_MODE = 0 +HSM_SCREEN_VIGNETTE_STRENGTH = 40 +HSM_SCREEN_VIGNETTE_POWER = 26 +HSM_SCREEN_VIGNETTE_IN_REFLECTION = 100 + +//--------------------------------------------------------------------------------------------------- +// MONOCHROME +//--------------------------------------------------------------------------------------------------- +HSM_MONOCHROME_MODE = 0 +HSM_MONOCHROME_BRIGHTNESS = 100 +HSM_MONOCHROME_GAMMA = 1 +HSM_MONOCHROME_HUE_OFFSET = 0 +HSM_MONOCHROME_SATURATION = 100 +HSM_MONOCHROME_DUALSCREEN_VIS_MODE = 0 + +//--------------------------------------------------------------------------------------------------- +// TUBE DIFFUSE IMAGE +//--------------------------------------------------------------------------------------------------- +HSM_TUBE_DIFFUSE_MODE = 0 +HSM_TUBE_DIFFUSE_IMAGE_AMOUNT = 100 +HSM_TUBE_DIFFUSE_IMAGE_DUALSCREEN_VIS_MODE = 0 +HSM_TUBE_DIFFUSE_IMAGE_COLORIZE_ON = 0 +HSM_TUBE_DIFFUSE_IMAGE_HUE = 0 +HSM_TUBE_DIFFUSE_IMAGE_SATURATION = 100 +HSM_TUBE_DIFFUSE_IMAGE_BRIGHTNESS = 20 +HSM_TUBE_DIFFUSE_IMAGE_GAMMA = 1 +HSM_TUBE_DIFFUSE_IMAGE_AMBIENT_LIGHTING = 100 +HSM_TUBE_DIFFUSE_IMAGE_AMBIENT2_LIGHTING = 0 +HSM_TUBE_DIFFUSE_IMAGE_SCALE = 140 +HSM_TUBE_DIFFUSE_IMAGE_SCALE_X = 100 +HSM_TUBE_DIFFUSE_IMAGE_ROTATION = 0 +HSM_TUBE_DIFFUSE_FORCE_ASPECT = 1 +HSM_TUBE_EXPLICIT_ASPECT = 1.33 +HSM_TUBE_EMPTY_THICKNESS = 0 +HSM_TUBE_EMPTY_THICKNESS_X_SCALE = 100 +HSM_SCREEN_CORNER_RADIUS_SCALE = 100 + +//--------------------------------------------------------------------------------------------------- +// TUBE SHADOW IMAGE +//--------------------------------------------------------------------------------------------------- +HSM_TUBE_SHADOW_IMAGE_ON = 1 +HSM_TUBE_SHADOW_IMAGE_OPACITY = 60 +HSM_TUBE_SHADOW_IMAGE_POS_X = 0 +HSM_TUBE_SHADOW_IMAGE_POS_Y = 0 +HSM_TUBE_SHADOW_IMAGE_SCALE_X = 122 +HSM_TUBE_SHADOW_IMAGE_SCALE_Y = 130 +HSM_TUBE_SHADOW_CURVATURE_SCALE = 300 + +//--------------------------------------------------------------------------------------------------- +// TUBE GLASS STATIC REFLECTION IMAGE +//--------------------------------------------------------------------------------------------------- + +HSM_TUBE_STATIC_REFLECTION_IMAGE_ON = 0 +HSM_TUBE_STATIC_REFLECTION_IMAGE_DUALSCREEN_VIS_MODE = 0 +HSM_TUBE_STATIC_REFLECTION_IMAGE_OPACITY = 16 +HSM_TUBE_STATIC_OPACITY_DIFFUSE_MULTIPLY = 25 + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bezel/Mega_Bezel/resource/docs/set-all-textures-empty.params b/bezel/Mega_Bezel/resource/docs/set-all-textures-empty.params new file mode 100644 index 0000000..f0c765e --- /dev/null +++ b/bezel/Mega_Bezel/resource/docs/set-all-textures-empty.params @@ -0,0 +1,24 @@ + +IntroImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +ScreenPlacementImage = ../../shaders/textures/Placeholder_Transparent_16x16.png + +NightLightingImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +NightLighting2Image = ../../shaders/textures/Placeholder_Transparent_16x16.png + +TubeDiffuseImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TubeColoredGelImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TubeShadowImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TubeStaticReflectionImage = ../../shaders/textures/Placeholder_Transparent_16x16.png + +// ReflectionMaskImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +FrameTextureImage = ../../shaders/textures/Placeholder_Transparent_16x16.png + +BackgroundImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +BackgroundVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +LEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceVertImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DeviceLEDImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +DecalImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +CabinetGlassImage = ../../shaders/textures/Placeholder_Transparent_16x16.png +TopLayerImage = ../../shaders/textures/Placeholder_Transparent_16x16.png \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/ShaderTodo.txt b/bezel/Mega_Bezel/shaders/ShaderTodo.txt index 7b3e3d0..699a989 100644 --- a/bezel/Mega_Bezel/shaders/ShaderTodo.txt +++ b/bezel/Mega_Bezel/shaders/ShaderTodo.txt @@ -1,19 +1,29 @@ ![Mega_Bezel_Logo|512x256, 75%](upload://6PNkvcMF9Go9Wnk6OJXfYR1opXI.png) -Mega Bezel is updated to V1.4.2_2022-09-27 +Mega Bezel is updated to V1.4.3_2022-10-09 Changes: - * Fixed LCD Grid and Easymode + * Fixed D3D11 bugs, Shaders now load, Compilation is still much slower than Vulkan or GlCore + * Added SCREEN-ONLY presets for those users which don't use the Refletion, Bezel or Graphics + * Adjusted SUPER-XBR settings to be more like the latest SUPER-XBR + * Added Tube Opacity + * Updated Text to faster compiling and rendering + * The names of the Max-Int presets has now changed because they point to these SCREEN-ONLY base presets which are faster + * Split apart libraries to improve compile times and optimize execution ---------------------------------------------------- --- TODO --------------------------------------- ---------------------------------------------------- - * Try Leveraging Fake Scanlines for Gameboy type effect - * Integer Scale Mode not affecting tube scale + * Fix Blur Noise Samples + * Fix No Reflect Tube Edge Mask (Can see through right now) + * Integer Scale Mode X & Y not affecting tube scale + * Move Global Variable Update to separate file for compile speed * Add .params #reference to with all parameters commented out * Bezel shadow on Potato Tube / Game Image + * Get CRT image to composite on top of the BG, so effects can affect the BG + * We should have a middle pass which has the device behind the CRT tube ---------------------------------------------------- --- Examples -------------------------------------- diff --git a/bezel/Mega_Bezel/shaders/base/add-params-all.slang b/bezel/Mega_Bezel/shaders/base/add-params-all.slang index a379d5e..8c791cf 100644 --- a/bezel/Mega_Bezel/shaders/base/add-params-all.slang +++ b/bezel/Mega_Bezel/shaders/base/add-params-all.slang @@ -1,4 +1,5 @@ #version 450 #include "common/globals-and-all-params.inc" +#include "common/common-functions.inc" #include "stock.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/add-params-glass.slang b/bezel/Mega_Bezel/shaders/base/add-params-glass.slang index 2a48996..d4445d5 100644 --- a/bezel/Mega_Bezel/shaders/base/add-params-glass.slang +++ b/bezel/Mega_Bezel/shaders/base/add-params-glass.slang @@ -1,4 +1,5 @@ #version 450 #include "common/globals-and-glass-params.inc" +#include "common/common-functions.inc" #include "stock.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/add-params-no-reflect.slang b/bezel/Mega_Bezel/shaders/base/add-params-no-reflect.slang index de307f9..c281da3 100644 --- a/bezel/Mega_Bezel/shaders/base/add-params-no-reflect.slang +++ b/bezel/Mega_Bezel/shaders/base/add-params-no-reflect.slang @@ -3,4 +3,5 @@ #define IS_NO_REFLECT_PRESET #include "common/globals-and-image-layers-params.inc" +#include "common/common-functions.inc" #include "stock.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/add-params-potato.slang b/bezel/Mega_Bezel/shaders/base/add-params-potato.slang index 3e2b50f..59451e6 100644 --- a/bezel/Mega_Bezel/shaders/base/add-params-potato.slang +++ b/bezel/Mega_Bezel/shaders/base/add-params-potato.slang @@ -1,4 +1,5 @@ #version 450 #include "common/globals-and-potato-params.inc" +#include "common/common-functions.inc" #include "stock.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/bezel-images-over-crt.slang b/bezel/Mega_Bezel/shaders/base/bezel-images-over-crt.slang index 0423a85..0768ea0 100644 --- a/bezel/Mega_Bezel/shaders/base/bezel-images-over-crt.slang +++ b/bezel/Mega_Bezel/shaders/base/bezel-images-over-crt.slang @@ -4,4 +4,5 @@ /////////////// IMPORTS /////////////// #include "common/globals-and-image-layers-params.inc" +#include "common/common-functions.inc" #include "bezel-images.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/bezel-images-under-crt.slang b/bezel/Mega_Bezel/shaders/base/bezel-images-under-crt.slang index e788e3e..d391c87 100644 --- a/bezel/Mega_Bezel/shaders/base/bezel-images-under-crt.slang +++ b/bezel/Mega_Bezel/shaders/base/bezel-images-under-crt.slang @@ -4,4 +4,5 @@ /////////////// IMPORTS /////////////// #include "common/globals-and-image-layers-params.inc" +#include "common/common-functions.inc" #include "bezel-images.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/bezel-images.inc b/bezel/Mega_Bezel/shaders/base/bezel-images.inc index 2a21cb4..fd67f81 100644 --- a/bezel/Mega_Bezel/shaders/base/bezel-images.inc +++ b/bezel/Mega_Bezel/shaders/base/bezel-images.inc @@ -309,7 +309,6 @@ layout(location = 0) out vec4 FragColor; // Pass Framebuffer Textures layout(set = 0, binding = 1) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 2) uniform sampler2D InfoCachePassFeedback; layout(set = 0, binding = 3) uniform sampler2D BackgroundImage; layout(set = 0, binding = 4) uniform sampler2D BackgroundVertImage; @@ -345,7 +344,7 @@ void main() VIEWPORT_UNSCALED_COORD = HSM_GetViewportCoordWithFlip(vTexCoord); VIEWPORT_COORD = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); vec4 feedback_color_test = texture(PassFeedback, vec2(0,0)); if (HSM_CACHE_GRAPHICS_ON > 0.5 && feedback_color_test.a < 0 && !CACHE_INFO_CHANGED) @@ -620,7 +619,10 @@ void main() HSM_BZL_BLEND_MODE, HSM_AMBIENT_LIGHTING_SWAP_IMAGE_MODE); - float FRAME_AND_BEZEL_MASK = (1 - TUBE_MASK) * (1 - OUTSIDE_FRAME_MASK); + // Contract the tube mask to leave a little extra black ring at the edge of the bezel + // otherwise this will show slivers of the background otherwise + float tube_mask_contracted = HSM_GetCornerMask((tube_curved_coord - 0.5) * 1.004 + 0.5, TUBE_DIFFUSE_ASPECT, bezel_corner_radius, 0.99); + float FRAME_AND_BEZEL_MASK = (1 - tube_mask_contracted) * (1 - OUTSIDE_FRAME_MASK); if (HSM_BZL_OPACITY > 0 || HSM_FRM_OPACITY > 0) bezel_layer = clamp(bezel_and_frame_rgba * FRAME_AND_BEZEL_MASK, 0, 1); @@ -645,7 +647,8 @@ void main() float TUBE_MASK_EXPAND = HSM_GetCornerMask((tube_curved_coord - 0.5) * 0.997 + 0.5, TUBE_DIFFUSE_ASPECT, bezel_corner_radius, 0.99); - vec4 tube_bg_layer = vec4(0, 0, 0, TUBE_MASK_EXPAND * HSM_GetTubeDiffuseOpacity()); + // vec4 tube_bg_layer = vec4(0, 0, 0, TUBE_MASK_EXPAND * HSM_GetTubeOpacity()); + vec4 tube_bg_layer = vec4(0, 0, 0, 0); // end of ifndef LAYERS_UNDER_CRT #endif @@ -1155,7 +1158,6 @@ void main() // Add background behind tube frag_color_linear = HSM_PreMultAlphaBlend(frag_color_linear, tube_bg_layer); - // GENERATED BEZEL LAYER if (HSM_BZL_OPACITY > 0 || HSM_FRM_OPACITY > 0) frag_color_linear = BlendModeMaskLayerMix(frag_color_linear, @@ -1186,8 +1188,9 @@ void main() FragColor = frag_color_linear; + // If we have calculated an image then set -1 as a flag to show that we have if (UNFLIPPED_VIEWPORT_COORD.x < (2 / global.OutputSize.x) && UNFLIPPED_VIEWPORT_COORD.y < (2 / global.OutputSize.y)) - FragColor = vec4(0.01, 0.01, 0.01, -1); + FragColor.a = -1; return; } diff --git a/bezel/Mega_Bezel/shaders/base/blur-outside-screen.inc b/bezel/Mega_Bezel/shaders/base/blur-outside-screen.inc index d4b820f..2b93bb2 100644 --- a/bezel/Mega_Bezel/shaders/base/blur-outside-screen.inc +++ b/bezel/Mega_Bezel/shaders/base/blur-outside-screen.inc @@ -23,6 +23,7 @@ */ #include "common/globals-and-reflection-params.inc" +#include "common/common-functions.inc" #include "common/common-functions-bezel.inc" #pragma stage vertex @@ -48,7 +49,6 @@ layout(set = 0, binding = 2) uniform sampler2D Source; layout(set = 0, binding = 3) uniform sampler2D BR_MirrorLowResPass; layout(set = 0, binding = 4) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 5) uniform sampler2D InfoCachePassFeedback; float clamp_0_1(float in_value) { @@ -60,7 +60,7 @@ void main() if (HSM_REFLECT_BLUR_NUM_SAMPLES > 0) { vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); vec2 tube_curved_coord_ctr = HSM_GetTubeCurvedCoord(TUBE_DIFFUSE_COORD, 1, TUBE_DIFFUSE_SCALE, TUBE_SCALE, TUBE_DIFFUSE_ASPECT, 1) - 0.5; diff --git a/bezel/Mega_Bezel/shaders/base/cache-info-all-params.slang b/bezel/Mega_Bezel/shaders/base/cache-info-all-params.slang index 2198794..a5587df 100644 --- a/bezel/Mega_Bezel/shaders/base/cache-info-all-params.slang +++ b/bezel/Mega_Bezel/shaders/base/cache-info-all-params.slang @@ -1,4 +1,5 @@ #version 450 #include "common/globals-and-all-params.inc" +#include "common/common-functions.inc" #include "cache-info.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/cache-info-no-reflect-params.slang b/bezel/Mega_Bezel/shaders/base/cache-info-no-reflect-params.slang index 30e5834..e62a962 100644 --- a/bezel/Mega_Bezel/shaders/base/cache-info-no-reflect-params.slang +++ b/bezel/Mega_Bezel/shaders/base/cache-info-no-reflect-params.slang @@ -3,4 +3,5 @@ #define IS_NO_REFLECT_PRESET #include "common/globals-and-image-layers-params.inc" +#include "common/common-functions.inc" #include "cache-info.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/cache-info-screen-scale-params.slang b/bezel/Mega_Bezel/shaders/base/cache-info-screen-scale-params.slang index bd1352b..6908cde 100644 --- a/bezel/Mega_Bezel/shaders/base/cache-info-screen-scale-params.slang +++ b/bezel/Mega_Bezel/shaders/base/cache-info-screen-scale-params.slang @@ -1,4 +1,5 @@ #version 450 #include "common/globals-and-screen-scale-params.inc" +#include "common/common-functions.inc" #include "cache-info.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/cache-info.inc b/bezel/Mega_Bezel/shaders/base/cache-info.inc index ea5dbec..3662758 100644 --- a/bezel/Mega_Bezel/shaders/base/cache-info.inc +++ b/bezel/Mega_Bezel/shaders/base/cache-info.inc @@ -592,7 +592,7 @@ float HSM_GetParameterSum() + HSM_AB_COMPARE_FREEZE_GRAPHICS // // TUBE DIFFUSE - // + HSM_TUBE_DIFFUSE_OPACITY + // + HSM_TUBE_OPACITY // + HSM_TUBE_DIFFUSE_MODE // + HSM_TUBE_DIFFUSE_IMAGE_DUALSCREEN_VIS_MODE // + HSM_TUBE_DIFFUSE_IMAGE_COLORIZE_ON @@ -1043,7 +1043,7 @@ vec4 HSM_GetColorForScreenInfoCache(vec2 viewport_coord, sampler2D feedback_pass sample_2d_range = HSM_GetCacheSampleRange(1, 1); if (HSM_IsCoordIn2DRange(viewport_coord, sample_2d_range) == 1) { - out_color.r = HSM_GetAverageLuma(original_pass, global.NegativeCropAddedPassSize.xy); + out_color.a = HSM_GetAverageLuma(original_pass, global.NegativeCropAddedPassSize.xy); } // Sample 2, 1 @@ -1072,6 +1072,7 @@ vec4 HSM_GetColorForScreenInfoCache(vec2 viewport_coord, sampler2D feedback_pass if (HSM_IsCoordIn2DRange(viewport_coord, sample_2d_range) == 1) { out_color.rg = cropped_rotated_size_with_res_mult; + out_color.ba = HSM_GetRotatedNegativeCropAddedSize(); } // Sample 1, 2 @@ -1129,6 +1130,7 @@ vec4 HSM_GetColorForScreenInfoCache(vec2 viewport_coord, sampler2D feedback_pass if (HSM_IsCoordIn2DRange(viewport_coord, sample_2d_range) == 1) { out_color.rg = global.CorePassSize.xy; + out_color.ba = HSM_GetRotatedCoreOriginalSize(); } // Sample 3, 3 @@ -1187,6 +1189,8 @@ vec4 HSM_GetColorForScreenInfoCache(vec2 viewport_coord, sampler2D feedback_pass out_color.ba = tube_diffuse_scale_2nd_screen; } + // Saple 4, 4 is used for CACHE_INFO_CHANGED + vec2 sample_coord = vec2(0); vec4 texture_sample = vec4(0); diff --git a/bezel/Mega_Bezel/shaders/base/combine-passes.inc b/bezel/Mega_Bezel/shaders/base/combine-passes.inc index bdd60bc..46abd1e 100644 --- a/bezel/Mega_Bezel/shaders/base/combine-passes.inc +++ b/bezel/Mega_Bezel/shaders/base/combine-passes.inc @@ -24,6 +24,7 @@ /////////////// IMPORTS /////////////// #include "common/globals-and-image-layers-params.inc" +#include "common/common-functions.inc" #include "common/common-functions-bezel.inc" @@ -58,7 +59,6 @@ layout(location = 0) out vec4 FragColor; // Pass Framebuffer Textures layout(set = 0, binding = 1) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 2) uniform sampler2D InfoCachePassFeedback; layout(set = 0, binding = 3) uniform sampler2D BR_LayersUnderCRTPass; @@ -80,7 +80,7 @@ void main() { UNFLIPPED_VIEWPORT_COORD = vTexCoord; vec2 VIEWPORT_COORD = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); // Have to get the scale of the coordinates so we can figure out the size of the onscreen rectangle of the area @@ -94,7 +94,7 @@ void main() BEZEL_OUTSIDE_CURVED_COORD, FRAME_OUTSIDE_CURVED_COORD); - if (BEZEL_OUTSIDE_COORD.x < -0.01 || BEZEL_OUTSIDE_COORD.x > 1.01 || BEZEL_OUTSIDE_COORD.y < -0.01 || BEZEL_OUTSIDE_COORD.y > 1.01) + if (HHLP_IsOutsideCoordSpace(BEZEL_OUTSIDE_COORD)) { vec4 feedback_color_test = texture(PassFeedback, vec2(0,0)); if (HSM_CACHE_GRAPHICS_ON > 0.5 && feedback_color_test.a < 0 && !CACHE_INFO_CHANGED && HSM_RENDER_SIMPLE_MODE < 0.5) @@ -108,6 +108,7 @@ void main() out_color.rgb *= HSM_GLOBAL_GRAPHICS_BRIGHTNESS; vec4 crt_layer = texture(MiddlePass, vTexCoord); + #ifdef IS_NO_REFLECT_PRESET crt_layer = HSM_Linearize(crt_layer, DEFAULT_SRGB_GAMMA); #endif @@ -118,10 +119,9 @@ void main() float bezel_corner_radius = HSM_BZL_INNER_CORNER_RADIUS_SCALE * HSM_GLOBAL_CORNER_RADIUS; if(HSM_BZL_USE_INDEPENDENT_CURVATURE > 0) bezel_corner_radius = HSM_BZL_INNER_CORNER_RADIUS_SCALE * DEFAULT_SCREEN_CORNER_RADIUS; - vec2 tube_curved_coord = HSM_GetTubeCurvedCoord(TUBE_DIFFUSE_COORD, 1, TUBE_DIFFUSE_SCALE, TUBE_SCALE, TUBE_DIFFUSE_ASPECT, 1); if (HSM_RENDER_SIMPLE_MODE < 0.5) - out_color.rgb += crt_layer.rgb; + out_color = HSM_PreMultAlphaBlend(out_color, crt_layer); vec4 over_layer = texture(BR_LayersOverCRTPass, vTexCoord); over_layer.rgb *= HSM_GLOBAL_GRAPHICS_BRIGHTNESS; @@ -131,6 +131,8 @@ void main() if (HSM_RENDER_SIMPLE_MODE > 0.5) { + vec2 tube_curved_coord = HSM_GetTubeCurvedCoord(TUBE_DIFFUSE_COORD, 1, TUBE_DIFFUSE_SCALE, TUBE_SCALE, TUBE_DIFFUSE_ASPECT, 1); + TUBE_DIFFUSE_CURVED_COORD = HSM_GetCurvedCoord(TUBE_DIFFUSE_COORD, HSM_TUBE_BLACK_EDGE_CURVATURE_SCALE, TUBE_DIFFUSE_ASPECT); TUBE_DIFFUSE_MASK = HSM_GetCornerMask(((TUBE_DIFFUSE_CURVED_COORD - 0.5) * 1.001) + 0.5, TUBE_DIFFUSE_ASPECT, HSM_GLOBAL_CORNER_RADIUS * HSM_TUBE_BLACK_EDGE_CORNER_RADIUS_SCALE, HSM_TUBE_BLACK_EDGE_SHARPNESS); @@ -186,8 +188,10 @@ void main() FragColor = vec4(FRAME_MASK); } } + + // If we have calculated an image then set -1 as a flag to show that we have if (UNFLIPPED_VIEWPORT_COORD.x < (2 / global.OutputSize.x) && UNFLIPPED_VIEWPORT_COORD.y < (2 / global.OutputSize.y)) - FragColor = vec4(0.01, 0.01, 0.01, -1); + FragColor.a = -1; return; } diff --git a/bezel/Mega_Bezel/shaders/base/common/base-functions.inc b/bezel/Mega_Bezel/shaders/base/common/base-functions.inc new file mode 100644 index 0000000..e2a38f0 --- /dev/null +++ b/bezel/Mega_Bezel/shaders/base/common/base-functions.inc @@ -0,0 +1,324 @@ +/* + Mega Bezel - Creates a graphic treatment for the game play area to give a retro feel + Copyright (C) 2019-2022 HyperspaceMadness - HyperspaceMadness@outlook.com + + Incorporates much great feedback from the libretro forum, and thanks + to Hunterk who helped me get started + + See more at the libretro forum + https://forums.libretro.com/t/hsm-mega-bezel-reflection-shader-feedback-and-updates + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see [http://www.gnu.org/licenses/]. +*/ + +// Returns 1 for vertical split, 2 for horizontal split +float HSM_GetCoreImageSplitDirection() +{ + float core_image_split_direction = 1; + + if (HSM_DUALSCREEN_CORE_IMAGE_SPLIT_MODE == 0) + { + if (HSM_DUALSCREEN_MODE == 1) + core_image_split_direction = 1; + if (HSM_DUALSCREEN_MODE == 2) + core_image_split_direction = 2; + } + else + { + core_image_split_direction = HSM_DUALSCREEN_CORE_IMAGE_SPLIT_MODE; + } + return core_image_split_direction; +} + +vec2 HSM_GetCoordWithPositionOffset(vec2 in_coord, vec2 position_offset) +{ + return in_coord - position_offset; +} + +vec2 HSM_GetInverseScaledCoord(vec2 in_coord, vec2 in_scale) +{ + vec2 middle = vec2(0.49999, 0.49999); + vec2 diff = in_coord.xy - middle; + vec2 screen_inverse_scale = 1.0 / in_scale; + vec2 scaled_coord = middle + diff * screen_inverse_scale; + + return scaled_coord; +} + +vec2 HSM_GetVTexCoordWithArgs(vec2 in_coord, vec2 in_scale, vec2 position_offset) +{ + return HSM_GetInverseScaledCoord(HSM_GetCoordWithPositionOffset(in_coord, position_offset), in_scale); +} + +// Rows and Columns are 1 based +vec4 HSM_GetCacheSampleRange(float column_index, float row_index) +{ + float num_rows = 8; + float num_columns = 8; + + float range_width = 1 / num_columns; + float range_height = 1 / num_rows; + + float zero_based_row_index = row_index - 1; + float zero_based_column_index = column_index - 1; + + vec4 out_sample_range = vec4(0); + + out_sample_range.x = zero_based_column_index * range_width; + out_sample_range.y = zero_based_row_index * range_height; + out_sample_range.z = out_sample_range.x + range_width; + out_sample_range.w = out_sample_range.y + range_height; + + return out_sample_range; +} + +vec2 HSM_GetCacheSampleCoord(float column_index, float row_index) +{ + float num_rows = 8; + float num_columns = 8; + + float range_width = 1 / num_columns; + float range_height = 1 / num_rows; + + vec4 sample_range = HSM_GetCacheSampleRange(column_index, row_index); + return vec2(sample_range.x + range_width/2, sample_range.y + range_height/2); +} + +vec2 HSM_GetViewportCoordWithFlip(vec2 viewport_coord) +{ + vec2 out_coord = viewport_coord; + + // out_coord.y = HSM_FLIP_VIEWPORT_VERTICAL * (out_coord.y - 0.5) + 0.5; + // out_coord.x = HSM_FLIP_VIEWPORT_HORIZONTAL * (out_coord.x - 0.5) + 0.5; + + if (HSM_FLIP_VIEWPORT_VERTICAL == -1) + out_coord.y = 1 - out_coord.y; + + if (HSM_FLIP_VIEWPORT_HORIZONTAL == -1) + out_coord.x = 1 - out_coord.x; + + return out_coord; +} + +vec2 HSM_GetViewportCoordWithZoomAndPan(vec2 viewport_coord) +{ + vec2 out_coord = HSM_GetViewportCoordWithFlip(viewport_coord); + + out_coord = (out_coord - 0.5) / HSM_VIEWPORT_ZOOM + 0.5; + out_coord.x += HSM_VIEWPORT_POSITION_X; + out_coord.y -= HSM_VIEWPORT_POSITION_Y; + + return out_coord; +} + +float HSM_GetScreenIndex(vec2 viewport_coord) +{ + float out_index = 1; + float output_aspect = global.FinalViewportSize.x / global.FinalViewportSize.y; + + if (HSM_DUALSCREEN_MODE == 0) + out_index = 1; + if (HSM_DUALSCREEN_MODE == 1) + out_index = (viewport_coord.y < 0.5 + HSM_DUALSCREEN_VIEWPORT_SPLIT_LOCATION / output_aspect) ? 1 : 2; + if (HSM_DUALSCREEN_MODE == 2) + out_index = (viewport_coord.x < 0.5 + HSM_DUALSCREEN_VIEWPORT_SPLIT_LOCATION / output_aspect) ? 1 : 2; + + return out_index; +} + +vec4 HSM_UpdateGlobalScreenValuesFromCache(sampler2D in_cache_pass, vec2 vTexCoord) +{ + float output_aspect = global.FinalViewportSize.x / global.FinalViewportSize.y; + vec2 flipped_viewport_coord = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); + SCREEN_INDEX = HSM_GetScreenIndex(flipped_viewport_coord); + vec2 sample_coord = vec2(0); + vec4 texture_sample = vec4(0); + + // Sample 1, 1 + sample_coord = HSM_GetCacheSampleCoord(1, 1); + texture_sample = texture(in_cache_pass, sample_coord); + AVERAGE_LUMA = texture_sample.a; + + float res_mult_size_sum = 0; + float res_mult_size_sum_feedback = 0; + + float res_mult_size2_sum = 0; + float res_mult_size2_sum_feedback = 0; + + if (SCREEN_INDEX == 1) + { + // Sample 2, 1 + // r SCREEN_ASPECT + // ba SCREEN_SCALE + sample_coord = HSM_GetCacheSampleCoord(2, 1); + texture_sample = texture(in_cache_pass, sample_coord); + SCREEN_ASPECT = texture_sample.r; + SCREEN_SCALE = texture_sample.ba; + + // Sample 3, 1 + // rg TUBE_SCALE + // ba SCREEN_POS_OFFSET + sample_coord = HSM_GetCacheSampleCoord(3, 1); + texture_sample = texture(in_cache_pass, sample_coord); + TUBE_SCALE = texture_sample.rg; + SCREEN_POS_OFFSET = texture_sample.ba; + + // Sample 3, 4 + // rg TUBE_DIFFUSE_SCALE + sample_coord = HSM_GetCacheSampleCoord(3, 4); + texture_sample = texture(in_cache_pass, sample_coord); + TUBE_DIFFUSE_SCALE = texture_sample.rg; + TUBE_DIFFUSE_ASPECT = TUBE_DIFFUSE_SCALE.x / TUBE_DIFFUSE_SCALE.y * output_aspect; + + // Sample 4, 1 + // rg CROPPED_ROTATED_SIZE_WITH_RES_MULT + sample_coord = HSM_GetCacheSampleCoord(4, 1); + texture_sample = texture(in_cache_pass, sample_coord); + CROPPED_ROTATED_SIZE_WITH_RES_MULT = texture_sample.rg; + res_mult_size_sum = CROPPED_ROTATED_SIZE_WITH_RES_MULT.x + CROPPED_ROTATED_SIZE_WITH_RES_MULT.y; + ROTATED_CORE_PREPPED_SIZE = texture_sample.ba; + + // Sample 1, 2 + // rg CROPPED_ROTATED_SIZE + // ba SAMPLE_AREA_START_PIXEL_COORD + sample_coord = HSM_GetCacheSampleCoord(1, 2); + texture_sample = texture(in_cache_pass, sample_coord); + CROPPED_ROTATED_SIZE = texture_sample.rg; + SAMPLE_AREA_START_PIXEL_COORD = texture_sample.ba; + } + // If we are in the section of the viewport which is the second screen + if (SCREEN_INDEX == 2) + { + // Sample 2, 2 Sample - 2nd Screen + // r SCREEN_ASPECT + // ba SCREEN_SCALE + sample_coord = HSM_GetCacheSampleCoord(2, 2); + texture_sample = texture(in_cache_pass, sample_coord); + SCREEN_ASPECT = texture_sample.r; + SCREEN_SCALE = texture_sample.gb; + + // Sample 3, 2 - 2nd Screen + // rg TUBE_SCALE + // ba SCREEN_POS_OFFSET + sample_coord = HSM_GetCacheSampleCoord(3, 2); + texture_sample = texture(in_cache_pass, sample_coord); + TUBE_SCALE = texture_sample.rg; + SCREEN_POS_OFFSET = texture_sample.ba; + + // TODO need to add TUBE_DIFFUSE_ASPECT & deal with 2nd Screen + // Sample 3, 4 + // ba TUBE_DIFFUSE_SCALE + sample_coord = HSM_GetCacheSampleCoord(3, 4); + texture_sample = texture(in_cache_pass, sample_coord); + TUBE_DIFFUSE_SCALE = texture_sample.ba; + TUBE_DIFFUSE_ASPECT = TUBE_DIFFUSE_SCALE.x / TUBE_DIFFUSE_SCALE.y * output_aspect; + + // Sample 4, 2 + // rg CROPPED_ROTATED_SIZE_WITH_RES_MULT + sample_coord = HSM_GetCacheSampleCoord(4, 2); + texture_sample = texture(in_cache_pass, sample_coord); + CROPPED_ROTATED_SIZE_WITH_RES_MULT = texture_sample.rg; + res_mult_size2_sum = CROPPED_ROTATED_SIZE_WITH_RES_MULT.x + CROPPED_ROTATED_SIZE_WITH_RES_MULT.y; + + // Sample 1, 3 + // rg CROPPED_ROTATED_SIZE + // ba SAMPLE_AREA_START_PIXEL_COORD + sample_coord = HSM_GetCacheSampleCoord(1, 3); + texture_sample = texture(in_cache_pass, sample_coord); + CROPPED_ROTATED_SIZE = texture_sample.rg; + SAMPLE_AREA_START_PIXEL_COORD = texture_sample.ba; + } + + // Sample 3, 1 + // rg TUBE_SCALE + // ba SCREEN_POS_OFFSET + sample_coord = HSM_GetCacheSampleCoord(3, 1); + texture_sample = texture(in_cache_pass, sample_coord); + // TUBE_SCALE_1ST_SCREEN = texture_sample.rg; + SCREEN_POS_OFFSET_1ST_SCREEN = texture_sample.ba; + + // Sample 3, 4 + // rg TUBE_DIFFUSE_SCALE_1ST_SCREEN + sample_coord = HSM_GetCacheSampleCoord(3, 4); + texture_sample = texture(in_cache_pass, sample_coord); + TUBE_DIFFUSE_SCALE_1ST_SCREEN = texture_sample.rg; + // TUBE_DIFFUSE_ASPECT_1ST_SCREEN = TUBE_DIFFUSE_SCALE_1ST_SCREEN.x / TUBE_DIFFUSE_SCALE_1ST_SCREEN.y * output_aspect; + + // Sample 3, 2 - 2nd Screen + // rg TUBE_SCALE_2ND_SCREEN + // ba SCREEN_POS_OFFSET_2ND_SCREEN + sample_coord = HSM_GetCacheSampleCoord(3, 2); + texture_sample = texture(in_cache_pass, sample_coord); + // TUBE_SCALE_2ND_SCREEN = texture_sample.rg; + SCREEN_POS_OFFSET_2ND_SCREEN = texture_sample.ba; + + // TODO need to add TUBE_DIFFUSE_ASPECT & deal with 2nd Screen + // Sample 3, 4 + // ba TUBE_DIFFUSE_SCALE_2ND_SCREEN + sample_coord = HSM_GetCacheSampleCoord(3, 4); + texture_sample = texture(in_cache_pass, sample_coord); + TUBE_DIFFUSE_SCALE_2ND_SCREEN = texture_sample.ba; + + // Sample 2, 3 Sample + // rg CORE_SIZE + sample_coord = HSM_GetCacheSampleCoord(2, 3); + texture_sample = texture(in_cache_pass, sample_coord); + CORE_SIZE = texture_sample.rg; + ROTATED_CORE_ORIGINAL_SIZE = texture_sample.ba; + + // Sample 3, 3 + // rg VIEWPORT_SCALE + // ba VIEWPORT_POS + sample_coord = HSM_GetCacheSampleCoord(3, 3); + texture_sample = texture(in_cache_pass, sample_coord); + VIEWPORT_SCALE = texture_sample.rg; + VIEWPORT_POS = texture_sample.ba; + + // Sample 4, 3 + // rg SCREEN_SCALE_2ND_SCREEN + // ba SCREEN_POS_OFFSET_2ND_SCREEN + sample_coord = HSM_GetCacheSampleCoord(4, 3); + texture_sample = texture(in_cache_pass, sample_coord); + SCREEN_SCALE_2ND_SCREEN = texture_sample.rg; + SCREEN_POS_OFFSET_2ND_SCREEN = texture_sample.ba; + + // Sample 1, 4 + // g CURRENT_FRAME_FROM_CACHE_INFO + // b ROTATED_DEREZED_SIZE + sample_coord = HSM_GetCacheSampleCoord(1, 4); + texture_sample = texture(in_cache_pass, sample_coord); + CURRENT_FRAME_FROM_CACHE_INFO = texture_sample.g; + ROTATED_DEREZED_SIZE = texture_sample.ba; + + // Sample 2, 4 + // r NEGATIVE_CROP_EXPAND_MULTIPLIER + // g MAX_NEGATIVE_CROP + sample_coord = HSM_GetCacheSampleCoord(2, 4); + texture_sample = texture(in_cache_pass, sample_coord); + NEGATIVE_CROP_EXPAND_MULTIPLIER = texture_sample.r; + MAX_NEGATIVE_CROP = texture_sample.g; + USE_VERTICAL_SCANLINES = texture_sample.b; + + // Sample 4, 4 + // r CACHE_INFO_CHANGED + sample_coord = HSM_GetCacheSampleCoord(4, 4); + texture_sample = texture(in_cache_pass, sample_coord); + CACHE_INFO_CHANGED = texture_sample.r > 0.5 ? true : false; + + SCREEN_COORD = HSM_GetVTexCoordWithArgs(flipped_viewport_coord, SCREEN_SCALE, SCREEN_POS_OFFSET); + TUBE_DIFFUSE_COORD = HSM_GetVTexCoordWithArgs(flipped_viewport_coord, TUBE_DIFFUSE_SCALE, SCREEN_POS_OFFSET); + TUBE_DIFFUSE_COORD_MIXED_POS = HSM_GetVTexCoordWithArgs(flipped_viewport_coord, TUBE_DIFFUSE_SCALE_1ST_SCREEN, (SCREEN_POS_OFFSET_1ST_SCREEN + SCREEN_POS_OFFSET_2ND_SCREEN) / 2.0); + + return vec4(0); +} \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/common/common-functions-bezel.inc b/bezel/Mega_Bezel/shaders/base/common/common-functions-bezel.inc index 9136d89..b2d6c5b 100644 --- a/bezel/Mega_Bezel/shaders/base/common/common-functions-bezel.inc +++ b/bezel/Mega_Bezel/shaders/base/common/common-functions-bezel.inc @@ -137,47 +137,4 @@ bool HSM_GetUseTubeDiffuseImage() bool HSM_GetUseTubeColoredGelImage() { return HSM_TUBE_COLORED_GEL_IMAGE_ON > 0.5 && HSM_GetUseOnCurrentScreenIndex(HSM_TUBE_COLORED_GEL_IMAGE_DUALSCREEN_VIS_MODE); -} - -vec4 HSM_GetTubeHighlight(vec2 tube_curved_coord, bool apply_to_mirror, in sampler2D TubeStaticReflectionImage) -{ - tube_curved_coord = HSM_GetViewportCoordWithFlip(tube_curved_coord); - vec4 out_color = vec4(0); - - vec2 mirrored_tube_coord = tube_curved_coord; - if (apply_to_mirror) - mirrored_tube_coord = HSM_GetMirrorWrappedCoord(tube_curved_coord); - - float bezel_corner_radius = HSM_BZL_INNER_CORNER_RADIUS_SCALE * HSM_GLOBAL_CORNER_RADIUS; - if(HSM_BZL_USE_INDEPENDENT_CURVATURE > 0) - bezel_corner_radius = HSM_BZL_INNER_CORNER_RADIUS_SCALE * DEFAULT_SCREEN_CORNER_RADIUS; - - vec2 tube_highlight_coord = (mirrored_tube_coord - 0.5) / vec2(HSM_TUBE_STATIC_SCALE * HSM_TUBE_STATIC_SCALE_X, HSM_TUBE_STATIC_SCALE) + 0.5; - tube_highlight_coord = (tube_highlight_coord - 0.5) / vec2(HSM_TUBE_STATIC_SCALE_X, 1) + 0.5; - - tube_highlight_coord.x = (tube_highlight_coord.x + HSM_TUBE_STATIC_POS_X - 0.5) * HSM_FLIP_VIEWPORT_HORIZONTAL + 0.5; - tube_highlight_coord.y = (tube_highlight_coord.y + HSM_TUBE_STATIC_POS_Y - 0.5) * HSM_FLIP_VIEWPORT_VERTICAL + 0.5; - - // Mask the very outer edge of the tube for a very small shadowing effect - float tube_highlight_mask = HSM_GetCornerMask((tube_curved_coord - 0.5) + 0.5 , TUBE_DIFFUSE_ASPECT, HSM_BZL_INNER_CORNER_RADIUS_SCALE * HSM_GLOBAL_CORNER_RADIUS, 0.9); - - vec4 tube_highlight_image = vec4(0); - - if (HSM_TUBE_STATIC_DITHER_SAMPLES > 0) - { - // Dithering for the glass reflection if needed to reduce banding - tube_highlight_image = HSM_GetStoichaicBlurredSample(TubeStaticReflectionImage, tube_highlight_coord, HSM_TUBE_STATIC_DITHER_SAMPLES, HSM_TUBE_STATIC_DITHER_DISTANCE, HSM_TUBE_STATIC_DITHER_AMOUNT); - } - else - { - tube_highlight_image = HSM_GetMipmappedTexSample(TubeStaticReflectionImage, tube_highlight_coord, TUBE_SCALE, 0); - } - tube_highlight_image = HSM_Linearize(tube_highlight_image, DEFAULT_SRGB_GAMMA) * tube_highlight_mask; - - out_color = HSM_TUBE_STATIC_REFLECTION_IMAGE_OPACITY * tube_highlight_image * tube_highlight_image.a; - out_color.rgb *= HSM_GLOBAL_GRAPHICS_BRIGHTNESS; - - return out_color; -} - - +} \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/common/common-functions.inc b/bezel/Mega_Bezel/shaders/base/common/common-functions.inc index d3eaac2..dcb0349 100644 --- a/bezel/Mega_Bezel/shaders/base/common/common-functions.inc +++ b/bezel/Mega_Bezel/shaders/base/common/common-functions.inc @@ -23,6 +23,7 @@ */ #include "helper-functions.inc" +#include "base-functions.inc" #ifndef IS_POTATO_PRESET #include "royale-geometry-functions.inc" @@ -35,33 +36,6 @@ float CURVATURE_MODE_3D_1 = 3; float CURVATURE_MODE_3D_2 = 4; float CURVATURE_MODE_3D_CYLINDER = 5; -vec2 HSM_GetViewportCoordWithFlip(vec2 viewport_coord) -{ - vec2 out_coord = viewport_coord; - - // out_coord.y = HSM_FLIP_VIEWPORT_VERTICAL * (out_coord.y - 0.5) + 0.5; - // out_coord.x = HSM_FLIP_VIEWPORT_HORIZONTAL * (out_coord.x - 0.5) + 0.5; - - if (HSM_FLIP_VIEWPORT_VERTICAL == -1) - out_coord.y = 1 - out_coord.y; - - if (HSM_FLIP_VIEWPORT_HORIZONTAL == -1) - out_coord.x = 1 - out_coord.x; - - return out_coord; -} - -vec2 HSM_GetViewportCoordWithZoomAndPan(vec2 viewport_coord) -{ - vec2 out_coord = HSM_GetViewportCoordWithFlip(viewport_coord); - - out_coord = (out_coord - 0.5) / HSM_VIEWPORT_ZOOM + 0.5; - out_coord.x += HSM_VIEWPORT_POSITION_X; - out_coord.y -= HSM_VIEWPORT_POSITION_Y; - - return out_coord; -} - float HSM_GetAspectRatioFromMode(float in_aspect_ratio_mode, float in_explicit_aspect) { float out_explicit_aspect = in_explicit_aspect; @@ -111,25 +85,6 @@ float HSM_GetNegativeCropExpandMultiplier() return HSM_GetNegativeCropAddedSize().y / HSM_GetDerezedSize().y; } -// Returns 1 for vertical split, 2 for horizontal split -float HSM_GetCoreImageSplitDirection() -{ - float core_image_split_direction = 1; - - if (HSM_DUALSCREEN_CORE_IMAGE_SPLIT_MODE == 0) - { - if (HSM_DUALSCREEN_MODE == 1) - core_image_split_direction = 1; - if (HSM_DUALSCREEN_MODE == 2) - core_image_split_direction = 2; - } - else - { - core_image_split_direction = HSM_DUALSCREEN_CORE_IMAGE_SPLIT_MODE; - } - return core_image_split_direction; -} - float HSM_GetSwappedScreenIndex(float screen_index) { float out_index = screen_index; @@ -213,40 +168,6 @@ float HSM_GetUseVerticalScanlines(float screen_aspect) return scanline_direction; } -// Rows and Columns are 1 based -vec4 HSM_GetCacheSampleRange(float column_index, float row_index) -{ - float num_rows = 8; - float num_columns = 8; - - float range_width = 1 / num_columns; - float range_height = 1 / num_rows; - - float zero_based_row_index = row_index - 1; - float zero_based_column_index = column_index - 1; - - vec4 out_sample_range = vec4(0); - - out_sample_range.x = zero_based_column_index * range_width; - out_sample_range.y = zero_based_row_index * range_height; - out_sample_range.z = out_sample_range.x + range_width; - out_sample_range.w = out_sample_range.y + range_height; - - return out_sample_range; -} - -vec2 HSM_GetCacheSampleCoord(float column_index, float row_index) -{ - float num_rows = 8; - float num_columns = 8; - - float range_width = 1 / num_columns; - float range_height = 1 / num_rows; - - vec4 sample_range = HSM_GetCacheSampleRange(column_index, row_index); - return vec2(sample_range.x + range_width/2, sample_range.y + range_height/2); -} - vec2 HSM_GetResMult() { // TODO when using target resolution @@ -290,16 +211,6 @@ vec4 HSM_GetTexSampleFromSampleStartAndSize(sampler2D in_sampler, vec2 in_screen return out_color; } -vec2 HSM_GetInverseScaledCoord(vec2 in_coord, vec2 in_scale) -{ - vec2 middle = vec2(0.49999, 0.49999); - vec2 diff = in_coord.xy - middle; - vec2 screen_inverse_scale = 1.0 / in_scale; - vec2 scaled_coord = middle + diff * screen_inverse_scale; - - return scaled_coord; -} - // Applies the position before scaling from the center // Should allow having an image where the center of the tube in the graphic is off center // the position offset moves it so the screen is centered, then the graphic is scaled from the center @@ -474,16 +385,6 @@ vec3 HSM_GetScreenPlacementAndHeight(sampler2D in_sampler_2D, float num_samples) return vec3(0.5, 0.5, 1); } -vec2 HSM_GetCoordWithPositionOffset(vec2 in_coord, vec2 position_offset) -{ - return in_coord - position_offset; -} - -vec2 HSM_GetVTexCoordWithArgs(vec2 in_coord, vec2 in_scale, vec2 position_offset) -{ - return HSM_GetInverseScaledCoord(HSM_GetCoordWithPositionOffset(in_coord, position_offset), in_scale); -} - vec2 HSM_GetScreenVTexCoord(vec2 in_coord, vec2 in_screen_scale, vec2 position_offset) { return HSM_GetVTexCoordWithArgs(in_coord, in_screen_scale, position_offset); @@ -847,235 +748,111 @@ vec4 HSM_GetStoichaicBlurredSample(sampler2D in_sampler, vec2 in_coord, float nu float radius = sin(dot(in_coord, vec2(1233.224, 1743.335))); vec2 radius_vector; - for(int i=0; i < num_samples; i++) + vec2 sample_coord = vec2(0); + + // The following are all unrolled otherwise they won't compile in D3D11 + if (num_samples < 1.5) { radius_vector.x = HSM_rand(radius); radius_vector.y = HSM_rand(radius); - vec2 sample_coord = in_coord + radius_vector * p; + sample_coord = in_coord + radius_vector * p; - blurred_color += texture(in_sampler, sample_coord) / num_samples; + blurred_color += texture(in_sampler, abs(sample_coord)) / 1; } + + if (num_samples < 2.5) + { + radius_vector.x = HSM_rand(radius); + radius_vector.y = HSM_rand(radius); + sample_coord = in_coord + radius_vector * p; + + blurred_color += texture(in_sampler, abs(sample_coord)) / 2; + + radius_vector.x = HSM_rand(radius); + radius_vector.y = HSM_rand(radius); + sample_coord = in_coord + radius_vector * p; + + blurred_color += texture(in_sampler, abs(sample_coord)) / 2; + } + + if (num_samples > 2.5) + { + radius_vector.x = HSM_rand(radius); + radius_vector.y = HSM_rand(radius); + sample_coord = in_coord + radius_vector * p; + + blurred_color += texture(in_sampler, abs(sample_coord)) / 12; + + radius_vector.x = HSM_rand(radius); + radius_vector.y = HSM_rand(radius); + sample_coord = in_coord + radius_vector * p; + + blurred_color += texture(in_sampler, abs(sample_coord)) / 12; + + radius_vector.x = HSM_rand(radius); + radius_vector.y = HSM_rand(radius); + sample_coord = in_coord + radius_vector * p; + + blurred_color += texture(in_sampler, abs(sample_coord)) / 12; + + radius_vector.x = HSM_rand(radius); + radius_vector.y = HSM_rand(radius); + sample_coord = in_coord + radius_vector * p; + + blurred_color += texture(in_sampler, abs(sample_coord)) / 12; + + radius_vector.x = HSM_rand(radius); + radius_vector.y = HSM_rand(radius); + sample_coord = in_coord + radius_vector * p; + + blurred_color += texture(in_sampler, abs(sample_coord)) / 12; + + radius_vector.x = HSM_rand(radius); + radius_vector.y = HSM_rand(radius); + sample_coord = in_coord + radius_vector * p; + + blurred_color += texture(in_sampler, abs(sample_coord)) / 12; + + radius_vector.x = HSM_rand(radius); + radius_vector.y = HSM_rand(radius); + sample_coord = in_coord + radius_vector * p; + + blurred_color += texture(in_sampler, abs(sample_coord)) / 12; + + radius_vector.x = HSM_rand(radius); + radius_vector.y = HSM_rand(radius); + sample_coord = in_coord + radius_vector * p; + + blurred_color += texture(in_sampler, abs(sample_coord)) / 12; + + radius_vector.x = HSM_rand(radius); + radius_vector.y = HSM_rand(radius); + sample_coord = in_coord + radius_vector * p; + + blurred_color += texture(in_sampler, abs(sample_coord)) / 12; + + radius_vector.x = HSM_rand(radius); + radius_vector.y = HSM_rand(radius); + sample_coord = in_coord + radius_vector * p; + + blurred_color += texture(in_sampler, abs(sample_coord)) / 12; + + radius_vector.x = HSM_rand(radius); + radius_vector.y = HSM_rand(radius); + sample_coord = in_coord + radius_vector * p; + + blurred_color += texture(in_sampler, abs(sample_coord)) / 12; + + radius_vector.x = HSM_rand(radius); + radius_vector.y = HSM_rand(radius); + sample_coord = in_coord + radius_vector * p; + + blurred_color += texture(in_sampler, abs(sample_coord)) / 12; + } + return blurred_color; } -float HSM_GetScreenIndex(vec2 viewport_coord) -{ - float out_index = 1; - float output_aspect = global.FinalViewportSize.x / global.FinalViewportSize.y; - - if (HSM_DUALSCREEN_MODE == 0) - out_index = 1; - if (HSM_DUALSCREEN_MODE == 1) - out_index = (viewport_coord.y < 0.5 + HSM_DUALSCREEN_VIEWPORT_SPLIT_LOCATION / output_aspect) ? 1 : 2; - if (HSM_DUALSCREEN_MODE == 2) - out_index = (viewport_coord.x < 0.5 + HSM_DUALSCREEN_VIEWPORT_SPLIT_LOCATION / output_aspect) ? 1 : 2; - - return out_index; -} - -vec4 HSM_UpdateGlobalScreenValuesFromCache(sampler2D in_cache_pass, sampler2D in_cache_feedback_pass, vec2 vTexCoord) -{ - float output_aspect = global.FinalViewportSize.x / global.FinalViewportSize.y; - vec2 flipped_viewport_coord = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - SCREEN_INDEX = HSM_GetScreenIndex(flipped_viewport_coord); - CORE_SIZE = global.CorePassSize.xy; - ROTATED_CORE_PREPPED_SIZE = HSM_GetRotatedNegativeCropAddedSize(); - ROTATED_CORE_ORIGINAL_SIZE = HSM_GetRotatedCoreOriginalSize(); - vec2 sample_coord = vec2(0); - vec4 texture_sample = vec4(0); - - // Sample 1, 1 - sample_coord = HSM_GetCacheSampleCoord(1, 1); - texture_sample = texture(in_cache_pass, sample_coord); - AVERAGE_LUMA = texture_sample.a; - - float res_mult_size_sum = 0; - float res_mult_size_sum_feedback = 0; - - float res_mult_size2_sum = 0; - float res_mult_size2_sum_feedback = 0; - - if (SCREEN_INDEX == 1) - { - // Sample 2, 1 - // r SCREEN_ASPECT - // ba SCREEN_SCALE - sample_coord = HSM_GetCacheSampleCoord(2, 1); - texture_sample = texture(in_cache_pass, sample_coord); - SCREEN_ASPECT = texture_sample.r; - SCREEN_SCALE = texture_sample.ba; - - // Sample 3, 1 - // rg TUBE_SCALE - // ba SCREEN_POS_OFFSET - sample_coord = HSM_GetCacheSampleCoord(3, 1); - texture_sample = texture(in_cache_pass, sample_coord); - TUBE_SCALE = texture_sample.rg; - SCREEN_POS_OFFSET = texture_sample.ba; - - // Sample 3, 4 - // rg TUBE_DIFFUSE_SCALE - sample_coord = HSM_GetCacheSampleCoord(3, 4); - texture_sample = texture(in_cache_pass, sample_coord); - TUBE_DIFFUSE_SCALE = texture_sample.rg; - TUBE_DIFFUSE_ASPECT = TUBE_DIFFUSE_SCALE.x / TUBE_DIFFUSE_SCALE.y * output_aspect; - - // Sample 4, 1 - // rg CROPPED_ROTATED_SIZE_WITH_RES_MULT - sample_coord = HSM_GetCacheSampleCoord(4, 1); - texture_sample = texture(in_cache_pass, sample_coord); - CROPPED_ROTATED_SIZE_WITH_RES_MULT = texture_sample.rg; - res_mult_size_sum = CROPPED_ROTATED_SIZE_WITH_RES_MULT.x + CROPPED_ROTATED_SIZE_WITH_RES_MULT.y; - - texture_sample = texture(in_cache_feedback_pass, sample_coord); - CROPPED_ROTATED_SIZE_WITH_RES_MULT_FEEDBACK = texture_sample.rg; - res_mult_size_sum_feedback = CROPPED_ROTATED_SIZE_WITH_RES_MULT_FEEDBACK.x + CROPPED_ROTATED_SIZE_WITH_RES_MULT_FEEDBACK.y; - - // Sample 1, 2 - // rg CROPPED_ROTATED_SIZE - // ba SAMPLE_AREA_START_PIXEL_COORD - sample_coord = HSM_GetCacheSampleCoord(1, 2); - texture_sample = texture(in_cache_pass, sample_coord); - CROPPED_ROTATED_SIZE = texture_sample.rg; - SAMPLE_AREA_START_PIXEL_COORD = texture_sample.ba; - } - // If we are in the section of the viewport which is the second screen - if (SCREEN_INDEX == 2) - { - // Sample 2, 2 Sample - 2nd Screen - // r SCREEN_ASPECT - // ba SCREEN_SCALE - sample_coord = HSM_GetCacheSampleCoord(2, 2); - texture_sample = texture(in_cache_pass, sample_coord); - SCREEN_ASPECT = texture_sample.r; - SCREEN_SCALE = texture_sample.gb; - - // Sample 3, 2 - 2nd Screen - // rg TUBE_SCALE - // ba SCREEN_POS_OFFSET - sample_coord = HSM_GetCacheSampleCoord(3, 2); - texture_sample = texture(in_cache_pass, sample_coord); - TUBE_SCALE = texture_sample.rg; - SCREEN_POS_OFFSET = texture_sample.ba; - - // TODO need to add TUBE_DIFFUSE_ASPECT & deal with 2nd Screen - // Sample 3, 4 - // ba TUBE_DIFFUSE_SCALE - sample_coord = HSM_GetCacheSampleCoord(3, 4); - texture_sample = texture(in_cache_pass, sample_coord); - TUBE_DIFFUSE_SCALE = texture_sample.ba; - TUBE_DIFFUSE_ASPECT = TUBE_DIFFUSE_SCALE.x / TUBE_DIFFUSE_SCALE.y * output_aspect; - - // Sample 4, 2 - // rg CROPPED_ROTATED_SIZE_WITH_RES_MULT - sample_coord = HSM_GetCacheSampleCoord(4, 2); - texture_sample = texture(in_cache_pass, sample_coord); - CROPPED_ROTATED_SIZE_WITH_RES_MULT = texture_sample.rg; - res_mult_size2_sum = CROPPED_ROTATED_SIZE_WITH_RES_MULT.x + CROPPED_ROTATED_SIZE_WITH_RES_MULT.y; - - texture_sample = texture(in_cache_feedback_pass, sample_coord); - CROPPED_ROTATED_SIZE_WITH_RES_MULT_FEEDBACK = texture_sample.rg; - res_mult_size2_sum_feedback = CROPPED_ROTATED_SIZE_WITH_RES_MULT_FEEDBACK.x + CROPPED_ROTATED_SIZE_WITH_RES_MULT_FEEDBACK.y; - - // Sample 1, 3 - // rg CROPPED_ROTATED_SIZE - // ba SAMPLE_AREA_START_PIXEL_COORD - sample_coord = HSM_GetCacheSampleCoord(1, 3); - texture_sample = texture(in_cache_pass, sample_coord); - CROPPED_ROTATED_SIZE = texture_sample.rg; - SAMPLE_AREA_START_PIXEL_COORD = texture_sample.ba; - } - - // Sample 3, 1 - // rg TUBE_SCALE - // ba SCREEN_POS_OFFSET - sample_coord = HSM_GetCacheSampleCoord(3, 1); - texture_sample = texture(in_cache_pass, sample_coord); - // TUBE_SCALE_1ST_SCREEN = texture_sample.rg; - SCREEN_POS_OFFSET_1ST_SCREEN = texture_sample.ba; - - // Sample 3, 4 - // rg TUBE_DIFFUSE_SCALE_1ST_SCREEN - sample_coord = HSM_GetCacheSampleCoord(3, 4); - texture_sample = texture(in_cache_pass, sample_coord); - TUBE_DIFFUSE_SCALE_1ST_SCREEN = texture_sample.rg; - // TUBE_DIFFUSE_ASPECT_1ST_SCREEN = TUBE_DIFFUSE_SCALE_1ST_SCREEN.x / TUBE_DIFFUSE_SCALE_1ST_SCREEN.y * output_aspect; - - // Sample 3, 2 - 2nd Screen - // rg TUBE_SCALE_2ND_SCREEN - // ba SCREEN_POS_OFFSET_2ND_SCREEN - sample_coord = HSM_GetCacheSampleCoord(3, 2); - texture_sample = texture(in_cache_pass, sample_coord); - // TUBE_SCALE_2ND_SCREEN = texture_sample.rg; - SCREEN_POS_OFFSET_2ND_SCREEN = texture_sample.ba; - - // TODO need to add TUBE_DIFFUSE_ASPECT & deal with 2nd Screen - // Sample 3, 4 - // ba TUBE_DIFFUSE_SCALE_2ND_SCREEN - sample_coord = HSM_GetCacheSampleCoord(3, 4); - texture_sample = texture(in_cache_pass, sample_coord); - TUBE_DIFFUSE_SCALE_2ND_SCREEN = texture_sample.ba; - // TUBE_DIFFUSE_ASPECT_2ND_SCREEN = TUBE_DIFFUSE_SCALE_2ND_SCREEN.x / TUBE_DIFFUSE_SCALE_2ND_SCREEN.y * output_aspect; - - - // Sample 2, 3 Sample - // rg CORE_SIZE - sample_coord = HSM_GetCacheSampleCoord(2, 3); - texture_sample = texture(in_cache_pass, sample_coord); - CORE_SIZE = texture_sample.rg; - - // Sample 3, 3 - // rg VIEWPORT_SCALE - // ba VIEWPORT_POS - sample_coord = HSM_GetCacheSampleCoord(3, 3); - texture_sample = texture(in_cache_pass, sample_coord); - VIEWPORT_SCALE = texture_sample.rg; - VIEWPORT_POS = texture_sample.ba; - - // Sample 4, 3 - // rg SCREEN_SCALE_2ND_SCREEN - // ba SCREEN_POS_OFFSET_2ND_SCREEN - sample_coord = HSM_GetCacheSampleCoord(4, 3); - texture_sample = texture(in_cache_pass, sample_coord); - SCREEN_SCALE_2ND_SCREEN = texture_sample.rg; - SCREEN_POS_OFFSET_2ND_SCREEN = texture_sample.ba; - - // Sample 1, 4 - // g CURRENT_FRAME_FROM_CACHE_INFO - // b ROTATED_DEREZED_SIZE - sample_coord = HSM_GetCacheSampleCoord(1, 4); - texture_sample = texture(in_cache_pass, sample_coord); - CURRENT_FRAME_FROM_CACHE_INFO = texture_sample.g; - ROTATED_DEREZED_SIZE = texture_sample.ba; - - // Sample 1, 4 Feedback - // r parameter_sum_feedback - texture_sample = texture(in_cache_feedback_pass, sample_coord); - float parameter_sum_feedback = texture_sample.r; - - // Sample 2, 4 - // r NEGATIVE_CROP_EXPAND_MULTIPLIER - // g MAX_NEGATIVE_CROP - sample_coord = HSM_GetCacheSampleCoord(2, 4); - texture_sample = texture(in_cache_pass, sample_coord); - NEGATIVE_CROP_EXPAND_MULTIPLIER = texture_sample.r; - MAX_NEGATIVE_CROP = texture_sample.g; - USE_VERTICAL_SCANLINES = texture_sample.b; - - // Sample 2, 4 - // r NEGATIVE_CROP_EXPAND_MULTIPLIER - // g MAX_NEGATIVE_CROP - sample_coord = HSM_GetCacheSampleCoord(4, 4); - texture_sample = texture(in_cache_pass, sample_coord); - CACHE_INFO_CHANGED = texture_sample.r > 0.5 ? true : false; - - SCREEN_COORD = HSM_GetVTexCoordWithArgs(flipped_viewport_coord, SCREEN_SCALE, SCREEN_POS_OFFSET); - TUBE_DIFFUSE_COORD = HSM_GetVTexCoordWithArgs(flipped_viewport_coord, TUBE_DIFFUSE_SCALE, SCREEN_POS_OFFSET); - TUBE_DIFFUSE_COORD_MIXED_POS = HSM_GetVTexCoordWithArgs(flipped_viewport_coord, TUBE_DIFFUSE_SCALE_1ST_SCREEN, (SCREEN_POS_OFFSET_1ST_SCREEN + SCREEN_POS_OFFSET_2ND_SCREEN) / 2.0); - - return vec4(0); -} - bool HSM_GetIsInABCompareArea(vec2 viewport_coord) { float test_value = HSM_AB_COMPARE_AREA > 1.5 ? viewport_coord.y : viewport_coord.x; @@ -1291,9 +1068,9 @@ vec4 HSM_ApplyMonochrome(vec4 in_color) return out_color; } -float HSM_GetTubeDiffuseOpacity() +float HSM_GetTubeOpacity() { - float tube_diffuse_opacity = HSM_TUBE_DIFFUSE_MODE < 1.5 ? HSM_TUBE_DIFFUSE_OPACITY : 0; + float tube_diffuse_opacity = HSM_TUBE_DIFFUSE_MODE < 1.5 ? HSM_TUBE_OPACITY : 0; // If CRT Blend Mode is Multiply (2) then the tube must be fully opaque if (HSM_CRT_BLEND_MODE == 2) diff --git a/bezel/Mega_Bezel/shaders/base/common/globals-and-all-params.inc b/bezel/Mega_Bezel/shaders/base/common/globals-and-all-params.inc index 13aacaf..b529c43 100644 --- a/bezel/Mega_Bezel/shaders/base/common/globals-and-all-params.inc +++ b/bezel/Mega_Bezel/shaders/base/common/globals-and-all-params.inc @@ -4,5 +4,4 @@ #include "params-2-bezel.inc" #include "params-2-reflection.inc" #include "params-4-image-layers.inc" -#include "params-5-intro.inc" -#include "common-functions.inc" \ No newline at end of file +#include "params-5-intro.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/common/globals-and-bezel-params.inc b/bezel/Mega_Bezel/shaders/base/common/globals-and-bezel-params.inc index cf7b9cb..b902331 100644 --- a/bezel/Mega_Bezel/shaders/base/common/globals-and-bezel-params.inc +++ b/bezel/Mega_Bezel/shaders/base/common/globals-and-bezel-params.inc @@ -3,5 +3,4 @@ #include "params-0-screen-scale.inc" #include "params-2-bezel.inc" #include "params-4-image-layers.inc" -#include "params-5-intro.inc" -#include "common-functions.inc" \ No newline at end of file +#include "params-5-intro.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/common/globals-and-glass-params.inc b/bezel/Mega_Bezel/shaders/base/common/globals-and-glass-params.inc index 5bb3d8d..cb8510f 100644 --- a/bezel/Mega_Bezel/shaders/base/common/globals-and-glass-params.inc +++ b/bezel/Mega_Bezel/shaders/base/common/globals-and-glass-params.inc @@ -5,5 +5,4 @@ #include "params-2-bezel.inc" #include "params-2-reflection.inc" #include "params-3-glass-only.inc" -#include "params-5-intro.inc" -#include "common-functions.inc" \ No newline at end of file +#include "params-5-intro.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/common/globals-and-image-layers-params.inc b/bezel/Mega_Bezel/shaders/base/common/globals-and-image-layers-params.inc index a5528f5..23f145f 100644 --- a/bezel/Mega_Bezel/shaders/base/common/globals-and-image-layers-params.inc +++ b/bezel/Mega_Bezel/shaders/base/common/globals-and-image-layers-params.inc @@ -2,5 +2,4 @@ #include "params-0-screen-scale.inc" #include "params-2-bezel.inc" #include "params-4-image-layers.inc" -#include "params-5-intro.inc" -#include "common-functions.inc" \ No newline at end of file +#include "params-5-intro.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/common/globals-and-potato-params.inc b/bezel/Mega_Bezel/shaders/base/common/globals-and-potato-params.inc index 5376c12..aff105f 100644 --- a/bezel/Mega_Bezel/shaders/base/common/globals-and-potato-params.inc +++ b/bezel/Mega_Bezel/shaders/base/common/globals-and-potato-params.inc @@ -3,5 +3,4 @@ #include "globals.inc" #include "params-0-screen-scale.inc" #include "params-1-potato-only.inc" -#include "params-5-intro.inc" -#include "common-functions.inc" \ No newline at end of file +#include "params-5-intro.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/common/globals-and-reflection-params.inc b/bezel/Mega_Bezel/shaders/base/common/globals-and-reflection-params.inc index c8c4768..5155c32 100644 --- a/bezel/Mega_Bezel/shaders/base/common/globals-and-reflection-params.inc +++ b/bezel/Mega_Bezel/shaders/base/common/globals-and-reflection-params.inc @@ -2,5 +2,4 @@ #include "params-0-screen-scale.inc" #include "params-2-bezel.inc" #include "params-2-reflection.inc" -#include "params-5-intro.inc" -#include "common-functions.inc" \ No newline at end of file +#include "params-5-intro.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/common/globals-and-screen-scale-params.inc b/bezel/Mega_Bezel/shaders/base/common/globals-and-screen-scale-params.inc index ecac120..503c7b3 100644 --- a/bezel/Mega_Bezel/shaders/base/common/globals-and-screen-scale-params.inc +++ b/bezel/Mega_Bezel/shaders/base/common/globals-and-screen-scale-params.inc @@ -1,4 +1,3 @@ #include "globals.inc" #include "params-0-screen-scale.inc" -#include "params-5-intro.inc" -#include "common-functions.inc" \ No newline at end of file +#include "params-5-intro.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/common/globals.inc b/bezel/Mega_Bezel/shaders/base/common/globals.inc index 1e54dd3..c8ad04f 100644 --- a/bezel/Mega_Bezel/shaders/base/common/globals.inc +++ b/bezel/Mega_Bezel/shaders/base/common/globals.inc @@ -239,7 +239,7 @@ layout(std140, set = 0, binding = 0) uniform UBO // TUBE IMAGES float HSM_TUBE_DIFFUSE_MODE; float HSM_TUBE_DIFFUSE_IMAGE_DUALSCREEN_VIS_MODE; - float HSM_TUBE_DIFFUSE_OPACITY; + float HSM_TUBE_OPACITY; float HSM_TUBE_DIFFUSE_IMAGE_AMOUNT; float HSM_TUBE_DIFFUSE_IMAGE_HUE; float HSM_TUBE_DIFFUSE_IMAGE_COLORIZE_ON; @@ -841,15 +841,6 @@ vec2 DEFAULT_BEZEL_SCALE = vec2(0); int INFOCACHE_MAX_INDEX = 4; -float BLEND_MODE_OFF = 0; -float BLEND_MODE_NORMAL = 1; -float BLEND_MODE_ADD = 2; -float BLEND_MODE_MULTIPLY = 3; - -float SOURCE_MATTE_PREMULTIPLIED = 0; -float SOURCE_MATTE_WHITE = 1; -float SOURCE_MATTE_NONE = 2; - float IMAGE_ASPECT_MODE_INHERIT_ASPECT_SCALE = 0; float IMAGE_ASPECT_MODE_KEEP_ASPECT = 1; diff --git a/bezel/Mega_Bezel/shaders/base/common/helper-functions.inc b/bezel/Mega_Bezel/shaders/base/common/helper-functions.inc index a0cb7ff..0eca3d5 100644 --- a/bezel/Mega_Bezel/shaders/base/common/helper-functions.inc +++ b/bezel/Mega_Bezel/shaders/base/common/helper-functions.inc @@ -23,6 +23,15 @@ along with this program. If not, see . */ +float SOURCE_MATTE_PREMULTIPLIED = 0; +float SOURCE_MATTE_WHITE = 1; +float SOURCE_MATTE_NONE = 2; + +float BLEND_MODE_OFF = 0; +float BLEND_MODE_NORMAL = 1; +float BLEND_MODE_ADD = 2; +float BLEND_MODE_MULTIPLY = 3; + vec4 HSM_ApplyGamma(vec4 in_color, float in_gamma) { vec3 out_color = pow(in_color.rgb, vec3(1 / in_gamma)); diff --git a/bezel/Mega_Bezel/shaders/base/common/params-0-screen-scale.inc b/bezel/Mega_Bezel/shaders/base/common/params-0-screen-scale.inc index e59a43c..e12c204 100644 --- a/bezel/Mega_Bezel/shaders/base/common/params-0-screen-scale.inc +++ b/bezel/Mega_Bezel/shaders/base/common/params-0-screen-scale.inc @@ -23,14 +23,14 @@ */ // Screen Scale Required Parameters -#pragma parameter HSM_MEGA_BEZEL_TITLE "[ --- HSM MEGA BEZEL V1.4.2_2022-09-27 --- ]" 0 0 0.01 0.01 +#pragma parameter HSM_MEGA_BEZEL_TITLE "[ --- HSM MEGA BEZEL V1.4.3_2022-10-09 --- ]" 0 0 0.01 0.01 #pragma parameter HSM_RESOLUTION_DEBUG_ON " Show Resolution Info" 0 0 1 1 float HSM_RESOLUTION_DEBUG_ON = global.HSM_RESOLUTION_DEBUG_ON; //--------------------------------------------------------------------------------------------------- -// CRT Layer +// CRT BRIGHTNESS & GAMMA //--------------------------------------------------------------------------------------------------- #pragma parameter HSM_CRT_TITLE "[ CRT BRIGHTNESS & GAMMA ]:" 0 0 0.01 0.01 @@ -145,7 +145,7 @@ float HSM_ASPECT_RATIO_EXPLICIT = global.HSM_ASPECT_RATIO_EXPLICIT; //--------------------------------------------------------------------------------------------------- -// SCALING +// CRT SCREEN SCALING GENERAL //--------------------------------------------------------------------------------------------------- #pragma parameter HSM_SCALING_TITLE "[ CRT SCREEN SCALING GENERAL ]:" 0 0 0.01 0.01 @@ -242,7 +242,7 @@ float HSM_SNAP_TO_CLOSEST_INT_SCALE_TOLERANCE = HSM_USE_SNAP_TO_CLOSEST_INT_SCAL //--------------------------------------------------------------------------------------------------- -// Position +// POSITION OFFSET //--------------------------------------------------------------------------------------------------- #pragma parameter HSM_SCREEN_POSITION_TITLE "[ POSITION OFFSET ]:" 0 0 0.01 0.01 @@ -257,7 +257,7 @@ float HSM_SCREEN_POSITION_Y = -1 * global.HSM_SCREEN_POSITION_Y / 1000; // CROPPING //--------------------------------------------------------------------------------------------------- #pragma parameter HSM_CROPPING_TITLE "[ CROPPING CORE IMAGE ]:" 0 0 0.01 0.01 -#pragma parameter HSM_CROP_FYI "!!! FYI !!! Negative Crop is currently Disabled :(" 2 0 2 1 +#pragma parameter HSM_CROP_FYI " FYI !!! Negative Crop is currently Disabled" 0 0 0.001 0.001 #pragma parameter HSM_CROP_MODE " Crop Mode - OFF | CROP BLACK ONLY | CROP ANY" 2 0 2 1 float HSM_CROP_MODE = global.HSM_CROP_MODE; @@ -282,7 +282,7 @@ float HSM_CROP_BLACK_THRESHOLD = global.HSM_CROP_BLACK_THRESHOLD / 100; //--------------------------------------------------------------------------------------------------- -// SCANLINES +// SCANLINE DIRECTION //--------------------------------------------------------------------------------------------------- #pragma parameter HSM_SCANLINE_TITLE "[ SCANLINE DIRECTION ]:" 0 0 0.01 0.01 @@ -295,12 +295,12 @@ float HSM_SCANLINE_DIRECTION = global.HSM_SCANLINE_DIRECTION; //--------------------------------------------------------------------------------------------------- #pragma parameter HSM_DREZ_TITLE "[ DREZ DOWNSAMPLE FILTER - HYLLIAN - DREZ PRESETS ONLY ]:" 0 0 0.01 0.01 -#pragma parameter C_FILTER_MODE " DREZ Filter: B-SPLINE | BICUBIC | CATMULL-ROM | BICUBIC H" 0.0 0.0 3.0 1.0 +#pragma parameter C_FILTER_MODE " DREZ Filter: B-SPLINE | BICUBIC | CATMULL-ROM | BICUBIC H" 0 0 3 1 //--------------------------------------------------------------------------------------------------- // CORE RES SAMPLING //--------------------------------------------------------------------------------------------------- -#pragma parameter HSM_SAMPLING_TITLE "[ CORE RES SAMPLING]:" 0 0 0.01 0.01 +#pragma parameter HSM_SAMPLING_TITLE "[ CORE RES SAMPLING ]:" 0 0 0.01 0.01 #pragma parameter HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR " Scanline Dir Multiplier (X-Prescale for H Scanline)" 100 25 1600 25 float HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR = global.HSM_CORE_RES_SAMPLING_MULT_SCANLINE_DIR / 100; @@ -318,7 +318,7 @@ float HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = global.HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR float HSM_CORE_RES_SAMPLING_SHIFT_OPPOSITE_DIR = global.HSM_CORE_RES_SAMPLING_SHIFT_OPPOSITE_DIR / 100; //--------------------------------------------------------------------------------------------------- -// SHARPEN +// FAST SHARPEN - GUEST.R //--------------------------------------------------------------------------------------------------- #pragma parameter SHARPEN_TITLE "[ FAST SHARPEN - GUEST.R ]:" 0.00 0.0 2.00 0.05 #pragma parameter SHARPEN " Sharpen Strength" 0.00 0.0 4.00 0.10 @@ -429,7 +429,7 @@ float HSM_CRT_CURVATURE_SCALE = global.HSM_CRT_CURVATURE_SCALE / 100; //--------------------------------------------------------------------------------------------------- -// CRT vs ORIGINAL A/B TESTING +// A/B SPLITSCREEN COMPARE //--------------------------------------------------------------------------------------------------- #pragma parameter HSM_CRT_AB_COMPARE_TITLE "[ A/B SPLITSCREEN COMPARE ]:" 0 0 0.01 0.01 @@ -450,7 +450,7 @@ float HSM_AB_COMPARE_FREEZE_GRAPHICS = global.HSM_AB_COMPARE_FREEZE_GRAPHICS; //--------------------------------------------------------------------------------------------------- -// Screen Vignette +// SCREEN VIGNETTE //--------------------------------------------------------------------------------------------------- #pragma parameter HSM_SCREEN_VIGNETTE_TITLE "[ SCREEN VIGNETTE ]:" 0 0 0.01 0.01 @@ -471,7 +471,7 @@ float HSM_SCREEN_VIGNETTE_DUALSCREEN_VIS_MODE = global.HSM_SCREEN_VIGNETTE_DUALS //--------------------------------------------------------------------------------------------------- -// Monochrome +// MONOCHROME //--------------------------------------------------------------------------------------------------- #pragma parameter HSM_MONOCHROME_TITLE "[ MONOCHROME ]:" 0 0 0.01 0.01 @@ -495,16 +495,13 @@ float HSM_MONOCHROME_DUALSCREEN_VIS_MODE = global.HSM_MONOCHROME_DUALSCREEN_VIS_ //--------------------------------------------------------------------------------------------------- -// TUBE DIFFUSE COLOR +// TUBE DIFFUSE IMAGE //--------------------------------------------------------------------------------------------------- #pragma parameter HSM_TUBE_DIFFUSE_IMAGE_TITLE "[ TUBE DIFFUSE IMAGE ]:" 0 0 0.01 0.01 #pragma parameter HSM_TUBE_DIFFUSE_MODE " Tube Diffuse Color - BLACK | IMAGE | TRANSPARENT" 0 0 2 1 float HSM_TUBE_DIFFUSE_MODE = global.HSM_TUBE_DIFFUSE_MODE; -#pragma parameter HSM_TUBE_DIFFUSE_OPACITY " Opacity" 100 0 100 0.1 -float HSM_TUBE_DIFFUSE_OPACITY = global.HSM_TUBE_DIFFUSE_OPACITY / 100; - #pragma parameter HSM_TUBE_DIFFUSE_IMAGE_AMOUNT " Amount" 100 0 100 1 float HSM_TUBE_DIFFUSE_IMAGE_AMOUNT = global.HSM_TUBE_DIFFUSE_IMAGE_AMOUNT / 100; @@ -585,9 +582,9 @@ float HSM_TUBE_SHADOW_CURVATURE_SCALE = global.HSM_TUBE_SHADOW_CURVATURE_SCALE / //--------------------------------------------------------------------------------------------------- -// TUBE STATIC REFLECTION +// TUBE GLASS STATIC REFLECTION IMAGE //--------------------------------------------------------------------------------------------------- -#pragma parameter HSM_TUBE_STATIC_TITLE "[ TUBE STATIC REFLECTION IMAGE ]:" 0 0 0.01 0.01 +#pragma parameter HSM_TUBE_STATIC_TITLE "[ TUBE GLASS STATIC REFLECTION IMAGE ]:" 0 0 0.01 0.01 #pragma parameter HSM_TUBE_STATIC_REFLECTION_IMAGE_ON " Use Tube Static Reflection Image - OFF | ON" 0 0 1 1 float HSM_TUBE_STATIC_REFLECTION_IMAGE_ON = global.HSM_TUBE_STATIC_REFLECTION_IMAGE_ON; @@ -639,12 +636,15 @@ float HSM_TUBE_STATIC_DITHER_AMOUNT = global.HSM_TUBE_STATIC_DITHER_AMOUNT; // CRT Blend Over Diffuse //--------------------------------------------------------------------------------------------------- -#pragma parameter HSM_CRT_BLEND_TITLE "[ CRT ON TUBE DIFFUSE BLENDING ]:" 0 0 0.01 0.01 +#pragma parameter HSM_CRT_BLEND_TITLE "[ CRT & TUBE BLENDING ]:" 0 0 0.01 0.01 -#pragma parameter HSM_CRT_BLEND_MODE " CRT On Tube Diffuse Blend Mode: OFF | ADD | MULTIPLY" 1 0 2 1 +#pragma parameter HSM_TUBE_OPACITY " Tube Opacity" 100 0 100 0.1 +float HSM_TUBE_OPACITY = global.HSM_TUBE_OPACITY / 100; + +#pragma parameter HSM_CRT_BLEND_MODE " CRT Blend Mode: OFF | ADD | MULTIPLY" 1 0 2 1 #define HSM_CRT_BLEND_MODE global.HSM_CRT_BLEND_MODE -#pragma parameter HSM_CRT_BLEND_AMOUNT " CRT On Tube Diffuse Blend Amount" 100 0 100 1 +#pragma parameter HSM_CRT_BLEND_AMOUNT " CRT Blend Amount" 100 0 100 1 #define HSM_CRT_BLEND_AMOUNT global.HSM_CRT_BLEND_AMOUNT / 100 diff --git a/bezel/Mega_Bezel/shaders/base/common/params-4-image-layers.inc b/bezel/Mega_Bezel/shaders/base/common/params-4-image-layers.inc index 9098b3c..ac34ed5 100644 --- a/bezel/Mega_Bezel/shaders/base/common/params-4-image-layers.inc +++ b/bezel/Mega_Bezel/shaders/base/common/params-4-image-layers.inc @@ -750,7 +750,7 @@ float HSM_TOP_MIRROR_WRAP = global.HSM_TOP_MIRROR_WRAP; //--------------------------------------------------------------------------------------------------- // RENDER FOR SIMPLIFIED PRESETS //--------------------------------------------------------------------------------------------------- -#pragma parameter HSM_RENDER_FOR_SIMPLIFIED_TITLE "[ RENDER FOR SIMPLIFIED PRESETS ]:" 1 0 1 1 +#pragma parameter HSM_RENDER_FOR_SIMPLIFIED_TITLE "[ MEGA BEZEL DEV RENDER FOR SIMPLIFIED PRESETS ]:" 1 0 1 1 #pragma parameter HSM_RENDER_SIMPLE_MODE " Mode: NORM | BLACK-SCREEN | BLACK-BG | PINK-MASK| BW-MASK" 0 0 4 1 float HSM_RENDER_SIMPLE_MODE = global.HSM_RENDER_SIMPLE_MODE; diff --git a/bezel/Mega_Bezel/shaders/base/delinearize.slang b/bezel/Mega_Bezel/shaders/base/delinearize.slang index 7e80bf7..301eb27 100644 --- a/bezel/Mega_Bezel/shaders/base/delinearize.slang +++ b/bezel/Mega_Bezel/shaders/base/delinearize.slang @@ -25,7 +25,7 @@ */ #include "common/globals-and-screen-scale-params.inc" - +#include "common/common-functions.inc" #pragma stage vertex layout(location = 0) in vec4 Position; layout(location = 1) in vec2 TexCoord; diff --git a/bezel/Mega_Bezel/shaders/base/intro-potato.slang b/bezel/Mega_Bezel/shaders/base/intro-potato.slang index 6a76633..91b25be 100644 --- a/bezel/Mega_Bezel/shaders/base/intro-potato.slang +++ b/bezel/Mega_Bezel/shaders/base/intro-potato.slang @@ -3,4 +3,6 @@ #define IS_POTATO_PRESET #include "common/globals-and-screen-scale-params.inc" +#include "common/helper-functions.inc" +#include "common/base-functions.inc" #include "intro.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/intro.inc b/bezel/Mega_Bezel/shaders/base/intro.inc index ad9a917..394e109 100644 --- a/bezel/Mega_Bezel/shaders/base/intro.inc +++ b/bezel/Mega_Bezel/shaders/base/intro.inc @@ -24,8 +24,6 @@ // Import so all the mega bezel parameters are the first in the parameter list -#include "text-resolution.inc" - #pragma stage vertex layout(location = 0) in vec4 Position; layout(location = 1) in vec2 TexCoord; @@ -50,7 +48,6 @@ layout(set = 0, binding = 7) uniform sampler2D IntroImage; #endif layout(set = 0, binding = 8) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 9) uniform sampler2D InfoCachePassFeedback; layout(set = 0, binding = 10) uniform sampler2D TextPass; @@ -93,7 +90,18 @@ vec4 GetColorWithIntro(vec4 in_color, vec2 in_coord, in sampler2D in_logo_image_ { vec4 out_color = in_color; - // in_coord.y = HSM_INTRO_LOGO_FLIP_VERTICAL > 0.5 ? 1 - in_coord.y : in_coord.y; + // If we are out of the region of time the intro plays just give back the same color + if (CURRENT_FRAME_FROM_CACHE_INFO > (HSM_INTRO_SOLID_COLOR_HOLD + + HSM_INTRO_SOLID_COLOR_FADE_OUT + + HSM_INTRO_LOGO_WAIT + + HSM_INTRO_LOGO_FADE_IN + + HSM_INTRO_LOGO_HOLD + + HSM_INTRO_LOGO_FADE_OUT + + HSM_INTRO_NOISE_HOLD + + HSM_INTRO_NOISE_FADE_OUT + + HSM_INTRO_SOLID_BLACK_HOLD + + HSM_INTRO_SOLID_BLACK_FADE_OUT) / HSM_INTRO_SPEED) + return out_color; in_coord.y = HSM_FLIP_VIEWPORT_VERTICAL * HSM_FLIP_CORE_VERTICAL * in_coord.y; in_coord.x = HSM_FLIP_VIEWPORT_HORIZONTAL * HSM_FLIP_CORE_HORIZONTAL * in_coord.x; @@ -269,8 +277,7 @@ vec4 GetColorWithIntro(vec4 in_color, vec2 in_coord, in sampler2D in_logo_image_ void main() { - vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); // Flip the coordinate vertically if desired vec2 viewport_coord_adjusted = vTexCoord; @@ -313,7 +320,22 @@ void main() // FragColor *= 1 - 0.7 * overlay_color.a; // FragColor += 1 * 0.7 * overlay_color; - //////// Draw text to show out_colorolutions ////////// + //////// Draw text to show resolutions ////////// if (HSM_RESOLUTION_DEBUG_ON == 1) - FragColor = HSM_PreMultAlphaBlend(FragColor, texture(TextPass, vTexCoord)); + { + vec2 ps = global.OutputSize.zw; + vec4 text_rgba = vec4(0); + text_rgba = texture(TextPass, vTexCoord); + text_rgba.rgb *= vec3(1, 1, 0); + text_rgba.a += texture(TextPass, vTexCoord + ps * vec2(1, 0)).a; + text_rgba.a += texture(TextPass, vTexCoord + ps * vec2(0, 1)).a; + text_rgba.a += texture(TextPass, vTexCoord + ps * vec2(1, 1)).a; + text_rgba.a += texture(TextPass, vTexCoord + ps * vec2(-1, 1)).a; + text_rgba.a += texture(TextPass, vTexCoord + ps * vec2(-1, 0)).a; + text_rgba.a += texture(TextPass, vTexCoord + ps * vec2(0, -1)).a; + text_rgba.a += texture(TextPass, vTexCoord + ps * vec2(-1, -1)).a; + text_rgba.a += texture(TextPass, vTexCoord + ps * vec2(1, -1)).a; + text_rgba = clamp(text_rgba, 0, 1); + FragColor = HSM_PreMultAlphaBlend(FragColor, text_rgba); + } } \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/intro.slang b/bezel/Mega_Bezel/shaders/base/intro.slang index 5f9d3f2..939b899 100644 --- a/bezel/Mega_Bezel/shaders/base/intro.slang +++ b/bezel/Mega_Bezel/shaders/base/intro.slang @@ -1,4 +1,6 @@ #version 450 #include "common/globals-and-screen-scale-params.inc" +#include "common/helper-functions.inc" +#include "common/base-functions.inc" #include "intro.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/linearize-crt.slang b/bezel/Mega_Bezel/shaders/base/linearize-crt.slang index 7173c37..569b452 100644 --- a/bezel/Mega_Bezel/shaders/base/linearize-crt.slang +++ b/bezel/Mega_Bezel/shaders/base/linearize-crt.slang @@ -25,6 +25,7 @@ */ #include "common/globals-and-screen-scale-params.inc" +#include "common/helper-functions.inc" layout(push_constant) uniform Push { diff --git a/bezel/Mega_Bezel/shaders/base/linearize.slang b/bezel/Mega_Bezel/shaders/base/linearize.slang index d57ae30..f7cb7f5 100644 --- a/bezel/Mega_Bezel/shaders/base/linearize.slang +++ b/bezel/Mega_Bezel/shaders/base/linearize.slang @@ -25,6 +25,7 @@ */ #include "common/globals-and-screen-scale-params.inc" +#include "common/helper-functions.inc" layout(push_constant) uniform Push { @@ -34,6 +35,11 @@ layout(push_constant) uniform Push uint FrameCount; } params; +layout(std140, set = 0, binding = 0) uniform UBO +{ + mat4 MVP; +} global; + #pragma stage vertex layout(location = 0) in vec4 Position; layout(location = 1) in vec2 TexCoord; diff --git a/bezel/Mega_Bezel/shaders/base/post-crt-prep-glass.slang b/bezel/Mega_Bezel/shaders/base/post-crt-prep-glass.slang index 18c5a85..598d1f5 100644 --- a/bezel/Mega_Bezel/shaders/base/post-crt-prep-glass.slang +++ b/bezel/Mega_Bezel/shaders/base/post-crt-prep-glass.slang @@ -1,4 +1,5 @@ #version 450 #include "common/globals-and-glass-params.inc" +#include "common/common-functions.inc" #include "post-crt-prep.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/post-crt-prep-image-layers.slang b/bezel/Mega_Bezel/shaders/base/post-crt-prep-image-layers.slang index 2fbf043..e6959db 100644 --- a/bezel/Mega_Bezel/shaders/base/post-crt-prep-image-layers.slang +++ b/bezel/Mega_Bezel/shaders/base/post-crt-prep-image-layers.slang @@ -1,4 +1,5 @@ #version 450 #include "common/globals-and-image-layers-params.inc" +#include "common/common-functions.inc" #include "post-crt-prep.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/post-crt-prep-no-reflect.slang b/bezel/Mega_Bezel/shaders/base/post-crt-prep-no-reflect.slang index 91e0305..0a75f78 100644 --- a/bezel/Mega_Bezel/shaders/base/post-crt-prep-no-reflect.slang +++ b/bezel/Mega_Bezel/shaders/base/post-crt-prep-no-reflect.slang @@ -3,4 +3,5 @@ #define IS_NO_REFLECT_PRESET #include "common/globals-and-image-layers-params.inc" +#include "common/common-functions.inc" #include "post-crt-prep.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/post-crt-prep-potato.slang b/bezel/Mega_Bezel/shaders/base/post-crt-prep-potato.slang index 05d6331..c67e3fd 100644 --- a/bezel/Mega_Bezel/shaders/base/post-crt-prep-potato.slang +++ b/bezel/Mega_Bezel/shaders/base/post-crt-prep-potato.slang @@ -25,7 +25,7 @@ */ #include "common/globals-and-potato-params.inc" - +#include "common/common-functions.inc" #pragma stage vertex layout(location = 0) in vec4 Position; @@ -52,7 +52,6 @@ layout(location = 0) out vec4 FragColor; layout(set = 0, binding = 1) uniform sampler2D Source; layout(set = 0, binding = 2) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 3) uniform sampler2D InfoCachePassFeedback; layout(set = 0, binding = 7) uniform sampler2D BackgroundImage; layout(set = 0, binding = 8) uniform sampler2D BackgroundVertImage; @@ -146,9 +145,9 @@ vec4 HSM_GetPostCrtPreppedColorPotato(vec4 in_color_with_gamma, vec2 VIEWPORT_CO void main() { vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); - if (SCREEN_COORD.x < -0.01 || SCREEN_COORD.x > 1.01 || SCREEN_COORD.y < -0.01 || SCREEN_COORD.y > 1.01) + if (HHLP_IsOutsideCoordSpace(SCREEN_COORD)) { vec4 feedback_color_test = texture(PassFeedback, vec2(0,0)); if (HSM_CACHE_GRAPHICS_ON > 0.5 && feedback_color_test.a < 0 && !CACHE_INFO_CHANGED) @@ -162,7 +161,4 @@ void main() vec2 screen_curved_coord = HSM_GetCurvedCoord(SCREEN_COORD, HSM_CRT_CURVATURE_SCALE, SCREEN_ASPECT); FragColor = HSM_GetPostCrtPreppedColorPotato(FragColor, vTexCoord, viewportCoordTransformed, screen_curved_coord, BackgroundImage, BackgroundVertImage); - - if (UNFLIPPED_VIEWPORT_COORD.x < (2 / global.OutputSize.x) && UNFLIPPED_VIEWPORT_COORD.y < (2 / global.OutputSize.y)) - FragColor = vec4(0.01, 0.01, 0.01, -1); } diff --git a/bezel/Mega_Bezel/shaders/base/post-crt-prep.inc b/bezel/Mega_Bezel/shaders/base/post-crt-prep.inc index ea539d8..8860794 100644 --- a/bezel/Mega_Bezel/shaders/base/post-crt-prep.inc +++ b/bezel/Mega_Bezel/shaders/base/post-crt-prep.inc @@ -50,7 +50,6 @@ layout(location = 0) out vec4 FragColor; layout(set = 0, binding = 1) uniform sampler2D Source; layout(set = 0, binding = 2) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 3) uniform sampler2D InfoCachePassFeedback; layout(set = 0, binding = 4) uniform sampler2D TubeDiffuseImage; layout(set = 0, binding = 5) uniform sampler2D TubeShadowImage; @@ -118,16 +117,59 @@ vec4 HSM_ApplyScanlineMask(vec4 in_color, vec2 screen_scale, vec2 in_coord, vec2 return clamp(masked_color, 0, 1); } +vec4 HSM_GetTubeHighlight(vec2 tube_curved_coord, bool apply_to_mirror, in sampler2D TubeStaticReflectionImage) +{ + tube_curved_coord = HSM_GetViewportCoordWithFlip(tube_curved_coord); + vec4 out_color = vec4(0); + + vec2 mirrored_tube_coord = tube_curved_coord; + if (apply_to_mirror) + mirrored_tube_coord = HSM_GetMirrorWrappedCoord(tube_curved_coord); + + float bezel_corner_radius = HSM_BZL_INNER_CORNER_RADIUS_SCALE * HSM_GLOBAL_CORNER_RADIUS; + if(HSM_BZL_USE_INDEPENDENT_CURVATURE > 0) + bezel_corner_radius = HSM_BZL_INNER_CORNER_RADIUS_SCALE * DEFAULT_SCREEN_CORNER_RADIUS; + + vec2 tube_highlight_coord = (mirrored_tube_coord - 0.5) / vec2(HSM_TUBE_STATIC_SCALE * HSM_TUBE_STATIC_SCALE_X, HSM_TUBE_STATIC_SCALE) + 0.5; + tube_highlight_coord = (tube_highlight_coord - 0.5) / vec2(HSM_TUBE_STATIC_SCALE_X, 1) + 0.5; + + tube_highlight_coord.x = (tube_highlight_coord.x + HSM_TUBE_STATIC_POS_X - 0.5) * HSM_FLIP_VIEWPORT_HORIZONTAL + 0.5; + tube_highlight_coord.y = (tube_highlight_coord.y + HSM_TUBE_STATIC_POS_Y - 0.5) * HSM_FLIP_VIEWPORT_VERTICAL + 0.5; + + // Mask the very outer edge of the tube for a very small shadowing effect + float tube_highlight_mask = HSM_GetCornerMask((tube_curved_coord - 0.5) + 0.5 , TUBE_DIFFUSE_ASPECT, HSM_BZL_INNER_CORNER_RADIUS_SCALE * HSM_GLOBAL_CORNER_RADIUS, 0.9); + + vec4 tube_highlight_image = vec4(0); + + if (HSM_TUBE_STATIC_DITHER_SAMPLES > 0) + { + // Dithering for the glass reflection if needed to reduce banding + tube_highlight_image = HSM_GetStoichaicBlurredSample(TubeStaticReflectionImage, tube_highlight_coord, HSM_TUBE_STATIC_DITHER_SAMPLES, HSM_TUBE_STATIC_DITHER_DISTANCE, HSM_TUBE_STATIC_DITHER_AMOUNT); + } + else + { + tube_highlight_image = HSM_GetMipmappedTexSample(TubeStaticReflectionImage, tube_highlight_coord, TUBE_SCALE, 0); + } + tube_highlight_image = HSM_Linearize(tube_highlight_image, DEFAULT_SRGB_GAMMA) * tube_highlight_mask; + + out_color = HSM_TUBE_STATIC_REFLECTION_IMAGE_OPACITY * tube_highlight_image * tube_highlight_image.a; + out_color.rgb *= HSM_GLOBAL_GRAPHICS_BRIGHTNESS; + + return out_color; +} + vec4 HSM_GetPostCrtPreppedColor(vec4 in_color_with_gamma, vec2 VIEWPORT_COORD, vec2 screen_curved_coord, in sampler2D source_pass, bool source_is_linear, in sampler2D TubeDiffuseImage, in sampler2D TubeColoredGelImage, in sampler2D TubeStaticReflectionImage, in sampler2D BackgroundImage, in sampler2D BackgroundVertImage, in sampler2D NightLightingImage, in sampler2D NightLighting2Image) { if (HSM_MONOCHROME_MODE > 0.5 && HSM_GetUseOnCurrentScreenIndex(HSM_MONOCHROME_DUALSCREEN_VIS_MODE)) in_color_with_gamma = HSM_ApplyMonochrome(in_color_with_gamma); - vec4 out_color = HSM_Linearize(in_color_with_gamma, DEFAULT_SRGB_GAMMA); - out_color *= HSM_POST_CRT_BRIGHTNESS; + vec4 crt_color = HSM_Linearize(in_color_with_gamma, DEFAULT_SRGB_GAMMA); + crt_color *= HSM_POST_CRT_BRIGHTNESS; vec2 mirrored_screen_coord = HSM_GetMirrorWrappedCoord(screen_curved_coord); + vec4 out_color = vec4(0); + // TODO we see artifacts of the reflection at the edge of the screen when there is extra tube thickness and the reflection is scaled float screen_mask = HSM_GetCornerMask((screen_curved_coord - 0.5) * 0.999 + 0.5, SCREEN_ASPECT, HSM_GLOBAL_CORNER_RADIUS * HSM_SCREEN_CORNER_RADIUS_SCALE, 0.9); @@ -140,9 +182,11 @@ vec4 HSM_GetPostCrtPreppedColor(vec4 in_color_with_gamma, vec2 VIEWPORT_COORD, v float vignette_factor_outside_screen = HSM_SCREEN_VIGNETTE_IN_REFLECTION * vignette_factor + (1 - HSM_SCREEN_VIGNETTE_IN_REFLECTION) * 1; vignette_factor = screen_mask * vignette_factor + (1 - screen_mask) * vignette_factor_outside_screen; - out_color *= vignette_factor; + crt_color *= vignette_factor; } + // TODO Try to get rid of vignette lines at the edges outside of the screen + if (HSM_AB_COMPARE_SHOW_MODE == 1 && HSM_GetIsInABCompareArea(VIEWPORT_COORD)) { vec2 ab_screen_coord = HSM_CRT_CURVATURE_SCALE * screen_curved_coord + (1 - HSM_CRT_CURVATURE_SCALE) * SCREEN_COORD; @@ -154,21 +198,21 @@ vec4 HSM_GetPostCrtPreppedColor(vec4 in_color_with_gamma, vec2 VIEWPORT_COORD, v source_color = HSM_Delinearize(source_color, HSM_GAMMA_OUT_CRT); source_color = HSM_Linearize(source_color, DEFAULT_SRGB_GAMMA); - out_color = source_color; + crt_color = source_color; } float scan_axis_res = USE_VERTICAL_SCANLINES * CROPPED_ROTATED_SIZE_WITH_RES_MULT.x + (1 - USE_VERTICAL_SCANLINES) * CROPPED_ROTATED_SIZE_WITH_RES_MULT.y; if (HSM_FAKE_SCANLINE_OPACITY > 0.001 && (HSM_FAKE_SCANLINE_MODE == 1 || (HSM_FAKE_SCANLINE_MODE == 2 && scan_axis_res > HSM_INTERLACE_TRIGGER_RES))) { - vec4 scanline_masked_color = HSM_ApplyScanlineMask(out_color, SCREEN_SCALE, SCREEN_COORD, screen_curved_coord, HSM_FAKE_SCANLINE_OPACITY); + vec4 scanline_masked_color = HSM_ApplyScanlineMask(crt_color, SCREEN_SCALE, SCREEN_COORD, screen_curved_coord, HSM_FAKE_SCANLINE_OPACITY); // Darken the outside image a bit - out_color = mix(out_color, out_color * 0.9, HSM_FAKE_SCANLINE_OPACITY); + crt_color = mix(crt_color, crt_color * 0.9, HSM_FAKE_SCANLINE_OPACITY); // Show scanlines only in the tube area float tube_highlight_mask = HSM_GetCornerMask((tube_curved_coord - 0.5) * 0.995 + 0.5 , TUBE_DIFFUSE_ASPECT, HSM_BZL_INNER_CORNER_RADIUS_SCALE * HSM_GLOBAL_CORNER_RADIUS, 0.05); - out_color = mix(out_color, scanline_masked_color, tube_highlight_mask); + crt_color = mix(crt_color, scanline_masked_color, tube_highlight_mask); } float bezel_corner_radius = HSM_BZL_INNER_CORNER_RADIUS_SCALE * HSM_GLOBAL_CORNER_RADIUS; @@ -182,10 +226,9 @@ vec4 HSM_GetPostCrtPreppedColor(vec4 in_color_with_gamma, vec2 VIEWPORT_COORD, v vec2 tube_diffuse_curved_coord = HSM_GetTubeCurvedCoord(TUBE_DIFFUSE_COORD, HSM_TUBE_BLACK_EDGE_CURVATURE_SCALE, TUBE_DIFFUSE_SCALE, TUBE_SCALE, TUBE_DIFFUSE_ASPECT, 0); float tube_diffuse_mask = HSM_GetCornerMask(tube_diffuse_curved_coord, TUBE_DIFFUSE_ASPECT, black_edge_corner_radius, 0.99); - // float black_edge_mask_invert = 1 - (tube_mask - tube_diffuse_mask); float black_edge_mask_invert = 1 - (tube_mask - tube_diffuse_mask); - out_color *= screen_to_tube_mask_invert; + crt_color.rgb *= screen_to_tube_mask_invert; // AMBIENT LIGHTING IMAGES vec4 ambient_lighting_image = vec4(1); @@ -226,7 +269,7 @@ vec4 HSM_GetPostCrtPreppedColor(vec4 in_color_with_gamma, vec2 VIEWPORT_COORD, v // If the crt blend mode is multiply then use the diffuse image float tube_diffuse_mode = HSM_CRT_BLEND_MODE == 2 ? 1 : HSM_TUBE_DIFFUSE_MODE; - vec4 tube_diffuse = vec4(0, 0, 0, 1); + vec4 tube_diffuse = vec4(0, 0, 0, tube_mask); float adjusted_tube_diffuse_amount = HSM_TUBE_DIFFUSE_MODE == 0 ? 0 : HSM_TUBE_DIFFUSE_IMAGE_AMOUNT; if (tube_diffuse_mode == 2) @@ -256,13 +299,15 @@ vec4 HSM_GetPostCrtPreppedColor(vec4 in_color_with_gamma, vec2 VIEWPORT_COORD, v } // If CRT Blend Mode is Multiply (2) then the tube must be fully opaque - tube_diffuse *= HSM_GetTubeDiffuseOpacity(); tube_diffuse.rgb = HSM_ApplyAmbientImage(tube_diffuse.rgb, ambient_lighting_image.rgb, HSM_TUBE_DIFFUSE_IMAGE_AMBIENT_LIGHTING); tube_diffuse.rgb = HSM_ApplyAmbientImage(tube_diffuse.rgb, ambient2_lighting_image.rgb, HSM_TUBE_DIFFUSE_IMAGE_AMBIENT2_LIGHTING); - - // TODO see what to do when its transparent } - out_color.a = in_color_with_gamma.a; + + tube_diffuse *= HSM_GetTubeOpacity(); + tube_diffuse.a *= tube_mask; + + out_color = tube_diffuse; + out_color.rgb += crt_color.rgb; // Don't apply the CRT images if (HSM_CRT_BLEND_MODE == 0) @@ -270,7 +315,8 @@ vec4 HSM_GetPostCrtPreppedColor(vec4 in_color_with_gamma, vec2 VIEWPORT_COORD, v // Apply the CRT image additively to the tube diffuse color if (HSM_CRT_BLEND_MODE == 1) - out_color = HSM_BlendModeLayerMix(tube_diffuse, out_color, BLEND_MODE_ADD, HSM_CRT_BLEND_AMOUNT); + // out_color = HSM_BlendModeLayerMix(tube_diffuse, out_color, BLEND_MODE_ADD, HSM_CRT_BLEND_AMOUNT); + out_color.rgb += tube_diffuse.rgb; // Apply the CRT image with multiply blending if (HSM_CRT_BLEND_MODE == 2) @@ -324,11 +370,12 @@ vec4 HSM_GetPostCrtPreppedColor(vec4 in_color_with_gamma, vec2 VIEWPORT_COORD, v #ifndef IS_NO_REFLECT_PRESET - out_color *= black_edge_mask_invert; + out_color.rgb *= black_edge_mask_invert; #else - out_color *= tube_diffuse_mask; + out_color.rgb *= tube_diffuse_mask; + out_color *= tube_mask; #endif @@ -355,7 +402,6 @@ vec4 HSM_GetPostCrtPreppedColor(vec4 in_color_with_gamma, vec2 VIEWPORT_COORD, v return out_color; } - void main() { if (HSM_AB_COMPARE_FREEZE_CRT_TUBE == 1 && HSM_GetIsInABCompareArea(vTexCoord)) @@ -367,8 +413,12 @@ void main() VIEWPORT_UNSCALED_COORD = HSM_GetViewportCoordWithFlip(vTexCoord); vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); + vec2 cache_bounds_coord = TUBE_COORD; + +// If it's the potato preset render the whole frame +#ifndef IS_NO_REFLECT_PRESET // Have to get the scale of the coordinates so we can figure out the size of the onscreen rectangle of the area vec2 bezel_outside_flat_coord; vec2 frame_outside_flat_coord; @@ -378,26 +428,25 @@ void main() SCREEN_ASPECT, bezel_outside_flat_coord, frame_outside_flat_coord); - vec2 cache_bounds_coord = (frame_outside_flat_coord - 0.5) * 0.9 + 0.5; + cache_bounds_coord = (frame_outside_flat_coord - 0.5) * 0.9 + 0.5; +#endif if (HHLP_IsOutsideCoordSpace(cache_bounds_coord)) { FragColor = vec4(0); return; } - else - { - // Have to get the scale of the coordinates so we can figure out the size of the onscreen rectangle of the area - HSM_GetBezelCoords(TUBE_DIFFUSE_COORD, - TUBE_DIFFUSE_SCALE, - TUBE_SCALE, - SCREEN_ASPECT, - false, - BEZEL_OUTSIDE_SCALE, - BEZEL_OUTSIDE_COORD, - BEZEL_OUTSIDE_CURVED_COORD, - FRAME_OUTSIDE_CURVED_COORD); - } + + // Have to get the scale of the coordinates so we can figure out the size of the onscreen rectangle of the area + HSM_GetBezelCoords(TUBE_DIFFUSE_COORD, + TUBE_DIFFUSE_SCALE, + TUBE_SCALE, + SCREEN_ASPECT, + false, + BEZEL_OUTSIDE_SCALE, + BEZEL_OUTSIDE_COORD, + BEZEL_OUTSIDE_CURVED_COORD, + FRAME_OUTSIDE_CURVED_COORD); vec2 screen_curved_coord = HSM_GetCurvedCoord(SCREEN_COORD, 1, SCREEN_ASPECT); diff --git a/bezel/Mega_Bezel/shaders/base/post-crt-prep.slang b/bezel/Mega_Bezel/shaders/base/post-crt-prep.slang index beb73b4..5156f86 100644 --- a/bezel/Mega_Bezel/shaders/base/post-crt-prep.slang +++ b/bezel/Mega_Bezel/shaders/base/post-crt-prep.slang @@ -1,4 +1,5 @@ #version 450 #include "common/globals-and-bezel-params.inc" +#include "common/common-functions.inc" #include "post-crt-prep.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/reflection-glass.slang b/bezel/Mega_Bezel/shaders/base/reflection-glass.slang index ca9b10f..a08f210 100644 --- a/bezel/Mega_Bezel/shaders/base/reflection-glass.slang +++ b/bezel/Mega_Bezel/shaders/base/reflection-glass.slang @@ -1,4 +1,5 @@ #version 450 #include "common/globals-and-glass-params.inc" +#include "common/common-functions.inc" #include "reflection.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/reflection.inc b/bezel/Mega_Bezel/shaders/base/reflection.inc index c0a7c9b..1314dd1 100644 --- a/bezel/Mega_Bezel/shaders/base/reflection.inc +++ b/bezel/Mega_Bezel/shaders/base/reflection.inc @@ -77,7 +77,6 @@ layout(location = 0) out vec4 FragColor; // Pass Framebuffer Textures layout(set = 0, binding = 1) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 2) uniform sampler2D InfoCachePassFeedback; layout(set = 0, binding = 3) uniform sampler2D NightLightingImage; layout(set = 0, binding = 4) uniform sampler2D NightLighting2Image; @@ -108,7 +107,7 @@ void main() VIEWPORT_UNSCALED_COORD = HSM_GetViewportCoordWithFlip(vTexCoord); VIEWPORT_COORD = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); // Have to get the scale of the coordinates so we can figure out the size of the onscreen rectangle of the area @@ -122,7 +121,7 @@ void main() BEZEL_OUTSIDE_CURVED_COORD, FRAME_OUTSIDE_CURVED_COORD); - if (BEZEL_OUTSIDE_COORD.x < -0.01 || BEZEL_OUTSIDE_COORD.x > 1.01 || BEZEL_OUTSIDE_COORD.y < -0.01 || BEZEL_OUTSIDE_COORD.y > 1.01) + if (HHLP_IsOutsideCoordSpace(BEZEL_OUTSIDE_COORD)) { FragColor = vec4(0); return; @@ -250,7 +249,6 @@ void main() float tube_edge_shadow_mult = HSM_BZL_INNER_EDGE_SHADOW * (tube_shadow_mask) + (1 - HSM_BZL_INNER_EDGE_SHADOW); crt_linear.rgb *= tube_edge_shadow_mult * (1 - outside_tube_mask_wider); - crt_linear.a = TUBE_MASK; float edge_highlight_mask = 0; @@ -417,15 +415,8 @@ void main() } crt_linear.rgb *= TUBE_MASK; - - // Put the frame and bezel over top a black tube - // It must be a little wider than the inside of the bezel so we don't see a gap - crt_linear = HSM_PreMultAlphaBlend(vec4(0, 0, 0, 1 - outside_tube_mask_wider), crt_linear); - crt_linear = clamp(crt_linear, 0, 1); - FragColor = vec4(0); - #ifdef IS_GLASS_PRESET vec4 bg_image = HSM_GetMipmappedTexSample(BackgroundImage, VIEWPORT_COORD, vec2(1), 0); @@ -441,12 +432,9 @@ void main() return; #endif -vec4 crt_and_reflect_layer = vec4(0); -crt_and_reflect_layer = HSM_BlendModeLayerMix(crt_and_reflect_layer, crt_linear, BLEND_MODE_NORMAL, 1); -crt_and_reflect_layer.rgb += reflection_color.rgb; -crt_and_reflect_layer *= 1 - OUTSIDE_BEZEL_MASK; - -FragColor = crt_and_reflect_layer; +FragColor = crt_linear; +FragColor.rgb += reflection_color.rgb; +FragColor *= 1 - OUTSIDE_BEZEL_MASK; return; } \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/reflection.slang b/bezel/Mega_Bezel/shaders/base/reflection.slang index da9740a..fb9a8ab 100644 --- a/bezel/Mega_Bezel/shaders/base/reflection.slang +++ b/bezel/Mega_Bezel/shaders/base/reflection.slang @@ -1,4 +1,5 @@ #version 450 #include "common/globals-and-reflection-params.inc" +#include "common/common-functions.inc" #include "reflection.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/text-adv-glass.slang b/bezel/Mega_Bezel/shaders/base/text-adv-glass.slang index 578e3a2..0eef4be 100644 --- a/bezel/Mega_Bezel/shaders/base/text-adv-glass.slang +++ b/bezel/Mega_Bezel/shaders/base/text-adv-glass.slang @@ -3,4 +3,5 @@ #define IS_STD_PRESET #include "common/globals-and-glass-params.inc" +#include "common/base-functions.inc" #include "text.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/text-adv-no-reflect.slang b/bezel/Mega_Bezel/shaders/base/text-adv-no-reflect.slang index 9e7ac44..0eb0287 100644 --- a/bezel/Mega_Bezel/shaders/base/text-adv-no-reflect.slang +++ b/bezel/Mega_Bezel/shaders/base/text-adv-no-reflect.slang @@ -4,4 +4,5 @@ #define IS_NO_REFLECT_PRESET #include "common/globals-and-image-layers-params.inc" +#include "common/base-functions.inc" #include "text.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/text-adv.slang b/bezel/Mega_Bezel/shaders/base/text-adv.slang index 8d4c7a0..dedfa01 100644 --- a/bezel/Mega_Bezel/shaders/base/text-adv.slang +++ b/bezel/Mega_Bezel/shaders/base/text-adv.slang @@ -3,4 +3,5 @@ #define IS_ADV_PRESET #include "common/globals-and-all-params.inc" +#include "common/base-functions.inc" #include "text.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/text-lib.inc b/bezel/Mega_Bezel/shaders/base/text-lib.inc deleted file mode 100644 index 1b759e2..0000000 --- a/bezel/Mega_Bezel/shaders/base/text-lib.inc +++ /dev/null @@ -1,300 +0,0 @@ -/* - Mega Bezel - Creates a graphic treatment for the game play area to give a retro feel - Copyright (C) 2019-2022 HyperspaceMadness - HyperspaceMadness@outlook.com - - Text code is from the Shadertoy "96-bit 8x12" Font by Flyguy - - See more at the libretro forum - https://forums.libretro.com/t/hsm-mega-bezel-reflection-shader-feedback-and-updates - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -#define DOWN_SCALE 2 - -#define MAX_INT_DIGITS 4 - -#define CHAR_SIZE vec2(8, 12) -#define CHAR_SPACING vec2(8, 12) - -#define STRWIDTH(c) (c * CHAR_SPACING.x) -#define STRHEIGHT(c) (c * CHAR_SPACING.y) - -#define NORMAL 0 -#define INVERT 1 -#define UNDERLINE 2 - -int TEXT_MODE = NORMAL; - -/* --------- --###---- -##-##--- -##-##--- --###---- -#####-#- -##-####- -##--##-- -##-###-- --###-##- --------- --------- - -00000000 -01110000 -11011000 -11011000 -01110000 -11111010 -11011110 -11001100 -11011100 -01110110 -00000000 -00000000 - -//Broken up into 4 8x3 (24 bit) chunks for each component of the vec4. -//Hexadecimal is being used to reduce clutter in the code but decimal still works. - -00000000 -01110000 -> 00000000 01110000 11011000 -> 0x0070D8 -11011000 - -11011000 -01110000 -> 11011000 01110000 11111010 -> 0xD870FA -11111010 - -11011110 -11001100 -> 11011110 11001100 11011100 -> 0xDECCDC -11011100 - -01110110 -00000000 -> 01110110 00000000 00000000 -> 0x760000 -00000000 - -vec4(0x0070D8,0xD870FA,0xDECCDC,0x760000) -*/ - -//Automatically generated from the 8x12 font sheet here: -//http://www.massmind.org/techref/datafile/charset/extractor/charset_extractor.htm - -vec4 ch_spc = vec4(0x000000,0x000000,0x000000,0x000000); -vec4 ch_exc = vec4(0x003078,0x787830,0x300030,0x300000); -vec4 ch_quo = vec4(0x006666,0x662400,0x000000,0x000000); -vec4 ch_hsh = vec4(0x006C6C,0xFE6C6C,0x6CFE6C,0x6C0000); -vec4 ch_dol = vec4(0x30307C,0xC0C078,0x0C0CF8,0x303000); -vec4 ch_pct = vec4(0x000000,0xC4CC18,0x3060CC,0x8C0000); -vec4 ch_amp = vec4(0x0070D8,0xD870FA,0xDECCDC,0x760000); -vec4 ch_apo = vec4(0x003030,0x306000,0x000000,0x000000); -vec4 ch_lbr = vec4(0x000C18,0x306060,0x603018,0x0C0000); -vec4 ch_rbr = vec4(0x006030,0x180C0C,0x0C1830,0x600000); -vec4 ch_ast = vec4(0x000000,0x663CFF,0x3C6600,0x000000); -vec4 ch_crs = vec4(0x000000,0x18187E,0x181800,0x000000); -vec4 ch_com = vec4(0x000000,0x000000,0x000038,0x386000); -vec4 ch_dsh = vec4(0x000000,0x0000FE,0x000000,0x000000); -vec4 ch_per = vec4(0x000000,0x000000,0x000038,0x380000); -vec4 ch_lsl = vec4(0x000002,0x060C18,0x3060C0,0x800000); -vec4 ch_0 = vec4(0x007CC6,0xD6D6D6,0xD6D6C6,0x7C0000); -vec4 ch_1 = vec4(0x001030,0xF03030,0x303030,0xFC0000); -vec4 ch_2 = vec4(0x0078CC,0xCC0C18,0x3060CC,0xFC0000); -vec4 ch_3 = vec4(0x0078CC,0x0C0C38,0x0C0CCC,0x780000); -vec4 ch_4 = vec4(0x000C1C,0x3C6CCC,0xFE0C0C,0x1E0000); -vec4 ch_5 = vec4(0x00FCC0,0xC0C0F8,0x0C0CCC,0x780000); -vec4 ch_6 = vec4(0x003860,0xC0C0F8,0xCCCCCC,0x780000); -vec4 ch_7 = vec4(0x00FEC6,0xC6060C,0x183030,0x300000); -vec4 ch_8 = vec4(0x0078CC,0xCCEC78,0xDCCCCC,0x780000); -vec4 ch_9 = vec4(0x0078CC,0xCCCC7C,0x181830,0x700000); -vec4 ch_col = vec4(0x000000,0x383800,0x003838,0x000000); -vec4 ch_scl = vec4(0x000000,0x383800,0x003838,0x183000); -vec4 ch_les = vec4(0x000C18,0x3060C0,0x603018,0x0C0000); -vec4 ch_equ = vec4(0x000000,0x007E00,0x7E0000,0x000000); -vec4 ch_grt = vec4(0x006030,0x180C06,0x0C1830,0x600000); -vec4 ch_que = vec4(0x0078CC,0x0C1830,0x300030,0x300000); -vec4 ch_ats = vec4(0x007CC6,0xC6DEDE,0xDEC0C0,0x7C0000); -vec4 ch_A = vec4(0x003078,0xCCCCCC,0xFCCCCC,0xCC0000); -vec4 ch_B = vec4(0x00FC66,0x66667C,0x666666,0xFC0000); -vec4 ch_C = vec4(0x003C66,0xC6C0C0,0xC0C666,0x3C0000); -vec4 ch_D = vec4(0x00F86C,0x666666,0x66666C,0xF80000); -vec4 ch_E = vec4(0x00FE62,0x60647C,0x646062,0xFE0000); -vec4 ch_F = vec4(0x00FE66,0x62647C,0x646060,0xF00000); -vec4 ch_G = vec4(0x003C66,0xC6C0C0,0xCEC666,0x3E0000); -vec4 ch_H = vec4(0x00CCCC,0xCCCCFC,0xCCCCCC,0xCC0000); -vec4 ch_I = vec4(0x007830,0x303030,0x303030,0x780000); -vec4 ch_J = vec4(0x001E0C,0x0C0C0C,0xCCCCCC,0x780000); -vec4 ch_K = vec4(0x00E666,0x6C6C78,0x6C6C66,0xE60000); -vec4 ch_L = vec4(0x00F060,0x606060,0x626666,0xFE0000); -vec4 ch_M = vec4(0x00C6EE,0xFEFED6,0xC6C6C6,0xC60000); -vec4 ch_N = vec4(0x00C6C6,0xE6F6FE,0xDECEC6,0xC60000); -vec4 ch_O = vec4(0x00386C,0xC6C6C6,0xC6C66C,0x380000); -vec4 ch_P = vec4(0x00FC66,0x66667C,0x606060,0xF00000); -vec4 ch_Q = vec4(0x00386C,0xC6C6C6,0xCEDE7C,0x0C1E00); -vec4 ch_R = vec4(0x00FC66,0x66667C,0x6C6666,0xE60000); -vec4 ch_S = vec4(0x0078CC,0xCCC070,0x18CCCC,0x780000); -vec4 ch_T = vec4(0x00FCB4,0x303030,0x303030,0x780000); -vec4 ch_U = vec4(0x00CCCC,0xCCCCCC,0xCCCCCC,0x780000); -vec4 ch_V = vec4(0x00CCCC,0xCCCCCC,0xCCCC78,0x300000); -vec4 ch_W = vec4(0x00C6C6,0xC6C6D6,0xD66C6C,0x6C0000); -vec4 ch_X = vec4(0x00CCCC,0xCC7830,0x78CCCC,0xCC0000); -vec4 ch_Y = vec4(0x00CCCC,0xCCCC78,0x303030,0x780000); -vec4 ch_Z = vec4(0x00FECE,0x981830,0x6062C6,0xFE0000); -vec4 ch_lsb = vec4(0x003C30,0x303030,0x303030,0x3C0000); -vec4 ch_rsl = vec4(0x000080,0xC06030,0x180C06,0x020000); -vec4 ch_rsb = vec4(0x003C0C,0x0C0C0C,0x0C0C0C,0x3C0000); -vec4 ch_pow = vec4(0x10386C,0xC60000,0x000000,0x000000); -vec4 ch_usc = vec4(0x000000,0x000000,0x000000,0x00FF00); -vec4 ch_a = vec4(0x000000,0x00780C,0x7CCCCC,0x760000); -vec4 ch_b = vec4(0x00E060,0x607C66,0x666666,0xDC0000); -vec4 ch_c = vec4(0x000000,0x0078CC,0xC0C0CC,0x780000); -vec4 ch_d = vec4(0x001C0C,0x0C7CCC,0xCCCCCC,0x760000); -vec4 ch_e = vec4(0x000000,0x0078CC,0xFCC0CC,0x780000); -vec4 ch_f = vec4(0x00386C,0x6060F8,0x606060,0xF00000); -vec4 ch_g = vec4(0x000000,0x0076CC,0xCCCC7C,0x0CCC78); -vec4 ch_h = vec4(0x00E060,0x606C76,0x666666,0xE60000); -vec4 ch_i = vec4(0x001818,0x007818,0x181818,0x7E0000); -vec4 ch_j = vec4(0x000C0C,0x003C0C,0x0C0C0C,0xCCCC78); -vec4 ch_k = vec4(0x00E060,0x60666C,0x786C66,0xE60000); -vec4 ch_l = vec4(0x007818,0x181818,0x181818,0x7E0000); -vec4 ch_m = vec4(0x000000,0x00FCD6,0xD6D6D6,0xC60000); -vec4 ch_n = vec4(0x000000,0x00F8CC,0xCCCCCC,0xCC0000); -vec4 ch_o = vec4(0x000000,0x0078CC,0xCCCCCC,0x780000); -vec4 ch_p = vec4(0x000000,0x00DC66,0x666666,0x7C60F0); -vec4 ch_q = vec4(0x000000,0x0076CC,0xCCCCCC,0x7C0C1E); -vec4 ch_r = vec4(0x000000,0x00EC6E,0x766060,0xF00000); -vec4 ch_s = vec4(0x000000,0x0078CC,0x6018CC,0x780000); -vec4 ch_t = vec4(0x000020,0x60FC60,0x60606C,0x380000); -vec4 ch_u = vec4(0x000000,0x00CCCC,0xCCCCCC,0x760000); -vec4 ch_v = vec4(0x000000,0x00CCCC,0xCCCC78,0x300000); -vec4 ch_w = vec4(0x000000,0x00C6C6,0xD6D66C,0x6C0000); -vec4 ch_x = vec4(0x000000,0x00C66C,0x38386C,0xC60000); -vec4 ch_y = vec4(0x000000,0x006666,0x66663C,0x0C18F0); -vec4 ch_z = vec4(0x000000,0x00FC8C,0x1860C4,0xFC0000); -vec4 ch_lpa = vec4(0x001C30,0x3060C0,0x603030,0x1C0000); -vec4 ch_bar = vec4(0x001818,0x181800,0x181818,0x180000); -vec4 ch_rpa = vec4(0x00E030,0x30180C,0x183030,0xE00000); -vec4 ch_tid = vec4(0x0073DA,0xCE0000,0x000000,0x000000); -vec4 ch_lar = vec4(0x000000,0x10386C,0xC6C6FE,0x000000); - -vec2 textCanvasResolution = vec2(0); -vec2 printPos = vec2(0); - -float epsilon = 0.001; - -//Extracts bit b from the given number. -//Shifts bits right (num / 2^bit) then ANDs the result with 1 (mod(result,2.0)). -float extract_bit(float n, float b) -{ - b = clamp(b,-1.0,24.0); - return floor(mod(floor(n / pow(2.0,floor(b))),2.0)); -} - -//Returns the pixel at uv in the given bit-packed sprite. -float sprite(vec4 spr, vec2 size, vec2 uv) -{ - uv = floor(uv); - - //Calculate the bit to extract (x + y * width) (flipped on x-axis) - float bit = (size.x-uv.x-1.0) + uv.y * size.x; - - //Clipping bound to remove garbage outside the sprite's boundaries. - bool bounds = all(greaterThanEqual(uv,vec2(0))) && all(lessThan(uv,size)); - - float pixels = 0.0; - pixels += extract_bit(spr.x, bit - 72.0); - pixels += extract_bit(spr.y, bit - 48.0); - pixels += extract_bit(spr.z, bit - 24.0); - pixels += extract_bit(spr.w, bit - 00.0); - - return bounds ? pixels : 0.0; -} - -//Prints a character and moves the print position forward by 1 character width. -float GetChar(vec4 ch, vec2 uv) -{ - if( TEXT_MODE == INVERT ) - { - //Inverts all of the bits in the character. - ch = pow(2.0,24.0)-1.0-ch; - } - if( TEXT_MODE == UNDERLINE ) - { - //Makes the bottom 8 bits all 1. - //Shifts the bottom chunk right 8 bits to drop the lowest 8 bits, - //then shifts it left 8 bits and adds 255 (binary 11111111). - ch.w = floor(ch.w/256.0)*256.0 + 255.0; - } - - float px = sprite(ch, CHAR_SIZE, uv - printPos); - printPos.x += CHAR_SPACING.x; - return px; -} - - -//Returns the digit sprite for the given number. -vec4 get_digit(float d) -{ - d = floor(d); - - if(d == 0.0) return ch_0; - if(d == 1.0) return ch_1; - if(d == 2.0) return ch_2; - if(d == 3.0) return ch_3; - if(d == 4.0) return ch_4; - if(d == 5.0) return ch_5; - if(d == 6.0) return ch_6; - if(d == 7.0) return ch_7; - if(d == 8.0) return ch_8; - if(d == 9.0) return ch_9; - return vec4(0.0); -} - -//Prints out the given number starting at pos. -float print_number(float number, vec2 uv, float zeros) -{ - float result = 0.0; - - for(int i = 3;i >= -zeros;i--) - { - float digit = mod( number / pow(10.0, float(i)) , 10.0); - - if (i > -1 || fract(number) > epsilon) - { - if(i == -1 && fract(number) > epsilon) //Add a decimal point. - { - result += GetChar(ch_per, uv); - } - - if(abs(number) > pow(10.0, float(i)) || i == 0) //Clip off leading zeros. - { - result += GetChar(get_digit(digit), uv); - } - } - } - return result; -} - -float print_integer(float number, int zeros, vec2 uv) -{ - float result = 0.0; - - for(int i = MAX_INT_DIGITS;i >= 0;i--) - { - float digit = mod( number / pow(10.0, float(i)) , 10.0); - - if(abs(number) > pow(10.0, float(i)) || zeros > i || i == 0) //Clip off leading zeros. - { - result += GetChar(get_digit(digit), uv); - } - } - return result; -} \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/text-potato.slang b/bezel/Mega_Bezel/shaders/base/text-potato.slang index 94d8efe..dad5810 100644 --- a/bezel/Mega_Bezel/shaders/base/text-potato.slang +++ b/bezel/Mega_Bezel/shaders/base/text-potato.slang @@ -1,4 +1,5 @@ #version 450 #include "common/globals-and-potato-params.inc" +#include "common/base-functions.inc" #include "text.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/text-resolution.inc b/bezel/Mega_Bezel/shaders/base/text-resolution.inc deleted file mode 100644 index 7947a83..0000000 --- a/bezel/Mega_Bezel/shaders/base/text-resolution.inc +++ /dev/null @@ -1,468 +0,0 @@ -/* - Text code is from the Shadertoy "96-bit 8x12" Font by Flyguy - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ - -#include "text-lib.inc" - -float DrawResolutions(vec2 uv, vec2 viewport_size, vec2 screen_size, vec2 derezed_size, vec2 negative_crop_added_size, vec2 cropped_original_size, vec2 sampling_res, vec2 int_mult) -{ - float col = 0.0; - - float current_line_index = 0; - float margin = STRHEIGHT(1); - - //Resolution Text - printPos = vec2(margin, 0); - - TEXT_MODE = NORMAL; - - // Line 14 Viewport Resolution ---------------------------------------------------- - printPos.x = margin; - printPos.y += STRHEIGHT(1); - - TEXT_MODE = NORMAL; - - col += GetChar(ch_V, uv); - col += GetChar(ch_i, uv); - col += GetChar(ch_e, uv); - col += GetChar(ch_w, uv); - col += GetChar(ch_p, uv); - col += GetChar(ch_o, uv); - col += GetChar(ch_r, uv); - col += GetChar(ch_t, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - - col += GetChar(ch_spc, uv); - col += print_integer(viewport_size.x,0, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_x, uv); - col += GetChar(ch_spc, uv); - col += print_integer(viewport_size.y,0, uv); - - - // Line 13 Screen Resolution ---------------------------------------------------------- - printPos.x = margin; - printPos.y += STRHEIGHT(1); - - col += GetChar(ch_S, uv); - col += GetChar(ch_c, uv); - col += GetChar(ch_r, uv); - col += GetChar(ch_e, uv); - col += GetChar(ch_e, uv); - col += GetChar(ch_n, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - - col += GetChar(ch_spc, uv); - col += print_integer(screen_size.x,0, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_x, uv); - col += GetChar(ch_spc, uv); - col += print_integer(screen_size.y,0, uv); - - - // Line 12 Final Aspect Ratio ---------------------------------------------------------- - printPos.x = margin; - printPos.y += STRHEIGHT(1); - - col += GetChar(ch_F, uv); - col += GetChar(ch_i, uv); - col += GetChar(ch_n, uv); - col += GetChar(ch_a, uv); - col += GetChar(ch_l, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_A, uv); - col += GetChar(ch_s, uv); - col += GetChar(ch_p, uv); - col += GetChar(ch_e, uv); - col += GetChar(ch_c, uv); - col += GetChar(ch_t, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - - col += GetChar(ch_spc, uv); - col += print_number(screen_size.x/screen_size.y > 1 ? screen_size.x/screen_size.y : screen_size.y/screen_size.x, uv, 2); - - - // Line 11 Non-Int Scale Percent ---------------------------------------------------------- - printPos.x = margin; - printPos.y += STRHEIGHT(1); - - col += GetChar(ch_N, uv); - col += GetChar(ch_o, uv); - col += GetChar(ch_n, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_I, uv); - col += GetChar(ch_n, uv); - col += GetChar(ch_t, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_S, uv); - col += GetChar(ch_c, uv); - col += GetChar(ch_l, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_pct, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - - col += GetChar(ch_spc, uv); - col += print_number(screen_size.y / viewport_size.y * 100, uv, 3); - - - // Line 10 Int Scale Vertical ---------------------------------------------------------- - printPos.x = margin; - printPos.y += STRHEIGHT(1); - - col += GetChar(ch_I, uv); - col += GetChar(ch_n, uv); - col += GetChar(ch_t, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_S, uv); - col += GetChar(ch_c, uv); - col += GetChar(ch_l, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_V, uv); - col += GetChar(ch_e, uv); - col += GetChar(ch_r, uv); - col += GetChar(ch_t, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - - col += GetChar(ch_spc, uv); - if (fract(int_mult.y) < 0.01 || fract(int_mult.y) > 0.99) - col += print_number(int_mult.y, uv, 0); - else - col += print_number(int_mult.y, uv, 3); - - - // Line 09 Int Scale Horizontal ---------------------------------------------------------- - printPos.x = margin; - printPos.y += STRHEIGHT(1); - - col += GetChar(ch_I, uv); - col += GetChar(ch_n, uv); - col += GetChar(ch_t, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_S, uv); - col += GetChar(ch_c, uv); - col += GetChar(ch_l, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_H, uv); - col += GetChar(ch_o, uv); - col += GetChar(ch_r, uv); - col += GetChar(ch_z, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - - col += GetChar(ch_spc, uv); - if (fract(int_mult.x) < 0.01 || fract(int_mult.x) > 0.99) - col += print_number(int_mult.x, uv, 0); - else - col += print_number(int_mult.x, uv, 3); - - - // Line 08 Sampling Resolution ---------------------------------------------------------- - if (cropped_original_size.x != sampling_res.x || cropped_original_size.y != sampling_res.y) - { - printPos.x = margin; - printPos.y += STRHEIGHT(1); - - col += GetChar(ch_S, uv); - col += GetChar(ch_a, uv); - col += GetChar(ch_m, uv); - col += GetChar(ch_p, uv); - col += GetChar(ch_l, uv); - col += GetChar(ch_i, uv); - col += GetChar(ch_n, uv); - col += GetChar(ch_g, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_R, uv); - col += GetChar(ch_e, uv); - col += GetChar(ch_s, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - - col += GetChar(ch_spc, uv); - col += print_integer(sampling_res.x,0, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_x, uv); - col += GetChar(ch_spc, uv); - col += print_integer(sampling_res.y,0, uv); - } - - - // Line 07 CROPPED Resolution ---------------------------------------------------------- - if (cropped_original_size.x != ROTATED_CORE_PREPPED_SIZE.x || cropped_original_size.y != ROTATED_CORE_PREPPED_SIZE.y) - { - printPos.x = margin; - printPos.y += STRHEIGHT(1); - - col += GetChar(ch_C, uv); - col += GetChar(ch_r, uv); - col += GetChar(ch_o, uv); - col += GetChar(ch_p, uv); - col += GetChar(ch_p, uv); - col += GetChar(ch_e, uv); - col += GetChar(ch_d, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - - col += GetChar(ch_spc, uv); - col += print_integer(cropped_original_size.x,0, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_x, uv); - col += GetChar(ch_spc, uv); - col += print_integer(cropped_original_size.y,0, uv); - } - - - // Line 06 Negative Crop Resolution ---------------------------------------------------------- - if (derezed_size.x != ROTATED_CORE_PREPPED_SIZE.x || derezed_size.y != ROTATED_CORE_PREPPED_SIZE.y) - { - printPos.x = margin; - printPos.y += STRHEIGHT(1); - - col += GetChar(ch_N, uv); - col += GetChar(ch_e, uv); - col += GetChar(ch_g, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_C, uv); - col += GetChar(ch_r, uv); - col += GetChar(ch_o, uv); - col += GetChar(ch_p, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_A, uv); - col += GetChar(ch_d, uv); - col += GetChar(ch_d, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - - col += GetChar(ch_spc, uv); - col += print_integer(ROTATED_CORE_PREPPED_SIZE.x,0, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_x, uv); - col += GetChar(ch_spc, uv); - col += print_integer(ROTATED_CORE_PREPPED_SIZE.y,0, uv); - } - - - // Line 05 DEREZ Resolution ---------------------------------------------------------- - if (derezed_size.x != ROTATED_CORE_ORIGINAL_SIZE.x || derezed_size.y != ROTATED_CORE_ORIGINAL_SIZE.y) - { - printPos.x = margin; - printPos.y += STRHEIGHT(1); - - col += GetChar(ch_D, uv); - col += GetChar(ch_e, uv); - col += GetChar(ch_r, uv); - col += GetChar(ch_e, uv); - col += GetChar(ch_z, uv); - col += GetChar(ch_e, uv); - col += GetChar(ch_d, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - - col += GetChar(ch_spc, uv); - col += print_integer(derezed_size.x,0, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_x, uv); - col += GetChar(ch_spc, uv); - col += print_integer(derezed_size.y,0, uv); - } - - - // Line 04 CORE Resolution ---------------------------------------------------------- - printPos.x = margin; - printPos.y += STRHEIGHT(1); - - col += GetChar(ch_C, uv); - col += GetChar(ch_o, uv); - col += GetChar(ch_r, uv); - col += GetChar(ch_e, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_dsh, uv); - - col += GetChar(ch_spc, uv); - col += print_integer(ROTATED_CORE_ORIGINAL_SIZE.x,0, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_x, uv); - col += GetChar(ch_spc, uv); - col += print_integer(ROTATED_CORE_ORIGINAL_SIZE.y,0, uv); - - - // Line 03 Preset Type ---------------------------------------------------------- - printPos.x = margin; - printPos.y += STRHEIGHT(2); - -#ifdef IS_ADV_PRESET - col += GetChar(ch_A, uv); - col += GetChar(ch_D, uv); - col += GetChar(ch_V, uv); - col += GetChar(ch_A, uv); - col += GetChar(ch_N, uv); - col += GetChar(ch_C, uv); - col += GetChar(ch_E, uv); - col += GetChar(ch_D, uv); -#endif - -#ifdef IS_STD_PRESET - col += GetChar(ch_S, uv); - col += GetChar(ch_T, uv); - col += GetChar(ch_A, uv); - col += GetChar(ch_N, uv); - col += GetChar(ch_D, uv); - col += GetChar(ch_A, uv); - col += GetChar(ch_R, uv); - col += GetChar(ch_D, uv); -#endif - -#ifdef IS_GLASS_PRESET - col += GetChar(ch_spc, uv); - col += GetChar(ch_G, uv); - col += GetChar(ch_L, uv); - col += GetChar(ch_A, uv); - col += GetChar(ch_S, uv); - col += GetChar(ch_S, uv); -#endif - -#ifdef IS_NO_REFLECT_PRESET - col += GetChar(ch_spc, uv); - col += GetChar(ch_N, uv); - col += GetChar(ch_O, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_R, uv); - col += GetChar(ch_E, uv); - col += GetChar(ch_F, uv); - col += GetChar(ch_L, uv); - col += GetChar(ch_E, uv); - col += GetChar(ch_C, uv); - col += GetChar(ch_T, uv); -#endif - -#ifdef IS_POTATO_PRESET - col += GetChar(ch_P, uv); - col += GetChar(ch_0, uv); - col += GetChar(ch_T, uv); - col += GetChar(ch_A, uv); - col += GetChar(ch_T, uv); - col += GetChar(ch_O, uv); -#endif - - - // Line 02 Version ---------------------------------------------------------- - printPos.x = margin; - printPos.y += STRHEIGHT(1); - - col += GetChar(ch_1, uv); - col += GetChar(ch_per, uv); - col += GetChar(ch_4, uv); - col += GetChar(ch_per, uv); - col += GetChar(ch_2, uv); - col += GetChar(ch_spc, uv); - - // Date - col += GetChar(ch_2, uv); - col += GetChar(ch_0, uv); - col += GetChar(ch_2, uv); - col += GetChar(ch_2, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_0, uv); - col += GetChar(ch_9, uv); - col += GetChar(ch_dsh, uv); - col += GetChar(ch_2, uv); - col += GetChar(ch_7, uv); - - - // Line 01 Title ---------------------------------------------------------- - printPos.x = margin; - printPos.y += STRHEIGHT(1); - - col += GetChar(ch_M, uv); - col += GetChar(ch_E, uv); - col += GetChar(ch_G, uv); - col += GetChar(ch_A, uv); - col += GetChar(ch_spc, uv); - col += GetChar(ch_B, uv); - col += GetChar(ch_E, uv); - col += GetChar(ch_Z, uv); - col += GetChar(ch_E, uv); - col += GetChar(ch_L, uv); - col += GetChar(ch_spc, uv); - - - TEXT_MODE = NORMAL; - - return col; -} - -// Returns a -float GetTextMask(vec2 in_coord, vec2 viewport_size, vec2 screen_size, vec2 derezed_size, vec2 negative_crop_added_size, vec2 cropped_original_size, vec2 sampling_res, vec2 int_mult, vec2 canvas_size) -{ - in_coord = (in_coord - 0.5) * vec2(1, -1) + 0.5; - float downscale = 1; - if (canvas_size.y > 600) downscale = 2; - if (canvas_size.y > 1000) downscale = 3; - - textCanvasResolution = global.OutputSize.xy / downscale; - vec2 uv = global.OutputSize.xy * in_coord; - vec2 downscaled_uv = floor(global.OutputSize.xy * in_coord / downscale); - - float pixel = DrawResolutions(downscaled_uv, viewport_size, screen_size, derezed_size, negative_crop_added_size, cropped_original_size, sampling_res, int_mult); - - vec3 col = vec3(1); - pixel *= (1 - distance(mod(uv, vec2(1.0)), vec2(0.65))) * 1.2; - col *= mix(vec3(0), vec3(1, 1, 1), pixel); - - return col.r; -} \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/text-std-glass.slang b/bezel/Mega_Bezel/shaders/base/text-std-glass.slang index 578e3a2..0eef4be 100644 --- a/bezel/Mega_Bezel/shaders/base/text-std-glass.slang +++ b/bezel/Mega_Bezel/shaders/base/text-std-glass.slang @@ -3,4 +3,5 @@ #define IS_STD_PRESET #include "common/globals-and-glass-params.inc" +#include "common/base-functions.inc" #include "text.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/text-std-no-reflect.slang b/bezel/Mega_Bezel/shaders/base/text-std-no-reflect.slang index 07e8ab6..ed2ff07 100644 --- a/bezel/Mega_Bezel/shaders/base/text-std-no-reflect.slang +++ b/bezel/Mega_Bezel/shaders/base/text-std-no-reflect.slang @@ -4,4 +4,5 @@ #define IS_NO_REFLECT_PRESET #include "common/globals-and-image-layers-params.inc" +#include "common/base-functions.inc" #include "text.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/base/text-std.slang b/bezel/Mega_Bezel/shaders/base/text-std.slang index 0bacbb5..dfcb412 100644 --- a/bezel/Mega_Bezel/shaders/base/text-std.slang +++ b/bezel/Mega_Bezel/shaders/base/text-std.slang @@ -3,5 +3,6 @@ #define IS_STD_PRESET #include "common/globals-and-all-params.inc" +#include "common/base-functions.inc" #include "text.inc" diff --git a/bezel/Mega_Bezel/shaders/base/text.inc b/bezel/Mega_Bezel/shaders/base/text.inc index 07df2ca..8ed838c 100644 --- a/bezel/Mega_Bezel/shaders/base/text.inc +++ b/bezel/Mega_Bezel/shaders/base/text.inc @@ -22,10 +22,6 @@ along with this program. If not, see . */ -// Import so all the mega bezel parameters are the first in the parameter list - -#include "text-resolution.inc" - #pragma alias TextPass #pragma stage vertex @@ -49,8 +45,532 @@ layout(set = 0, binding = 2) uniform sampler2D TextPassFeedback; layout(set = 0, binding = 8) uniform sampler2D InfoCachePass; layout(set = 0, binding = 9) uniform sampler2D InfoCachePassFeedback; +/* + Text code is from the Shadertoy "96-bit 8x12" Font by Flyguy + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#define MAX_INT_DIGITS 4 + +#define CHAR_SIZE vec2(6, 7) +#define CHAR_SPACING vec2(6, 11) + +#define STRWIDTH(c) (c * CHAR_SPACING.x) +#define STRHEIGHT(c) (c * CHAR_SPACING.y) + +#define DOWN_SCALE 2.0 + +/* +Top left pixel is the most significant bit. +Bottom right pixel is the least significant bit. + + ███ | +█ █ | +█ █ | +█ █ | +█████ | +█ █ | +█ █ | + +011100 +100010 +100010 +100010 +111110 +100010 +100010 + +011100 (upper 21 bits) +100010 -> 011100 100010 100010 100 -> 935188 +100010 +100 + 010 (lower 21 bits) +111110 -> 010 111110 100010 100010 -> 780450 +100010 +100010 + +vec2(935188.0,780450.0) +*/ + +//Automatically generated from the sprite sheet here: http://uzebox.org/wiki/index.php?title=File:Font6x8.png +vec2 ch_spc = vec2(0.0,0.0); +vec2 ch_exc = vec2(276705.0,32776.0); +vec2 ch_quo = vec2(1797408.0,0.0); +vec2 ch_hsh = vec2(10738.0,1134484.0); +vec2 ch_dol = vec2(538883.0,19976.0); +vec2 ch_pct = vec2(1664033.0,68006.0); +vec2 ch_amp = vec2(545090.0,174362.0); +vec2 ch_apo = vec2(798848.0,0.0); +vec2 ch_lbr = vec2(270466.0,66568.0); +vec2 ch_rbr = vec2(528449.0,33296.0); +vec2 ch_ast = vec2(10471.0,1688832.0); +vec2 ch_crs = vec2(4167.0,1606144.0); +vec2 ch_per = vec2(0.0,1560.0); +vec2 ch_dsh = vec2(7.0,1572864.0); +vec2 ch_com = vec2(0.0,1544.0); +vec2 ch_lsl = vec2(1057.0,67584.0); +vec2 ch_0 = vec2(935221.0,731292.0); +vec2 ch_1 = vec2(274497.0,33308.0); +vec2 ch_2 = vec2(934929.0,1116222.0); +vec2 ch_3 = vec2(934931.0,1058972.0); +vec2 ch_4 = vec2(137380.0,1302788.0); +vec2 ch_5 = vec2(2048263.0,1058972.0); +vec2 ch_6 = vec2(401671.0,1190044.0); +vec2 ch_7 = vec2(2032673.0,66576.0); +vec2 ch_8 = vec2(935187.0,1190044.0); +vec2 ch_9 = vec2(935187.0,1581336.0); +vec2 ch_col = vec2(195.0,1560.0); +vec2 ch_scl = vec2(195.0,1544.0); +vec2 ch_les = vec2(135300.0,66052.0); +vec2 ch_equ = vec2(496.0,3968.0); +vec2 ch_grt = vec2(528416.0,541200.0); +vec2 ch_que = vec2(934929.0,1081352.0); +vec2 ch_ats = vec2(935285.0,714780.0); +vec2 ch_A = vec2(935188.0,780450.0); +vec2 ch_B = vec2(1983767.0,1190076.0); +vec2 ch_C = vec2(935172.0,133276.0); +vec2 ch_D = vec2(1983764.0,665788.0); +vec2 ch_E = vec2(2048263.0,1181758.0); +vec2 ch_F = vec2(2048263.0,1181728.0); +vec2 ch_G = vec2(935173.0,1714334.0); +vec2 ch_H = vec2(1131799.0,1714338.0); +vec2 ch_I = vec2(921665.0,33308.0); +vec2 ch_J = vec2(66576.0,665756.0); +vec2 ch_K = vec2(1132870.0,166178.0); +vec2 ch_L = vec2(1065220.0,133182.0); +vec2 ch_M = vec2(1142100.0,665762.0); +vec2 ch_N = vec2(1140052.0,1714338.0); +vec2 ch_O = vec2(935188.0,665756.0); +vec2 ch_P = vec2(1983767.0,1181728.0); +vec2 ch_Q = vec2(935188.0,698650.0); +vec2 ch_R = vec2(1983767.0,1198242.0); +vec2 ch_S = vec2(935171.0,1058972.0); +vec2 ch_T = vec2(2035777.0,33288.0); +vec2 ch_U = vec2(1131796.0,665756.0); +vec2 ch_V = vec2(1131796.0,664840.0); +vec2 ch_W = vec2(1131861.0,699028.0); +vec2 ch_X = vec2(1131681.0,84130.0); +vec2 ch_Y = vec2(1131794.0,1081864.0); +vec2 ch_Z = vec2(1968194.0,133180.0); +vec2 ch_lsb = vec2(925826.0,66588.0); +vec2 ch_rsl = vec2(16513.0,16512.0); +vec2 ch_rsb = vec2(919584.0,1065244.0); +vec2 ch_pow = vec2(272656.0,0.0); +vec2 ch_usc = vec2(0.0,62.0); +vec2 ch_a = vec2(224.0,649374.0); +vec2 ch_b = vec2(1065444.0,665788.0); +vec2 ch_c = vec2(228.0,657564.0); +vec2 ch_d = vec2(66804.0,665758.0); +vec2 ch_e = vec2(228.0,772124.0); +vec2 ch_f = vec2(401543.0,1115152.0); +vec2 ch_g = vec2(244.0,665474.0); +vec2 ch_h = vec2(1065444.0,665762.0); +vec2 ch_i = vec2(262209.0,33292.0); +vec2 ch_j = vec2(131168.0,1066252.0); +vec2 ch_k = vec2(1065253.0,199204.0); +vec2 ch_l = vec2(266305.0,33292.0); +vec2 ch_m = vec2(421.0,698530.0); +vec2 ch_n = vec2(452.0,1198372.0); +vec2 ch_o = vec2(228.0,665756.0); +vec2 ch_p = vec2(484.0,667424.0); +vec2 ch_q = vec2(244.0,665474.0); +vec2 ch_r = vec2(354.0,590904.0); +vec2 ch_s = vec2(228.0,114844.0); +vec2 ch_t = vec2(8674.0,66824.0); +vec2 ch_u = vec2(292.0,1198868.0); +vec2 ch_v = vec2(276.0,664840.0); +vec2 ch_w = vec2(276.0,700308.0); +vec2 ch_x = vec2(292.0,1149220.0); +vec2 ch_y = vec2(292.0,1163824.0); +vec2 ch_z = vec2(480.0,1148988.0); +vec2 ch_lpa = vec2(401542.0,66572.0); +vec2 ch_bar = vec2(266304.0,33288.0); +vec2 ch_rpa = vec2(788512.0,1589528.0); +vec2 ch_tid = vec2(675840.0,0.0); +vec2 ch_lar = vec2(8387.0,1147904.0); + +float TEXT_MASK = 0; +vec2 CUR_UV = vec2(0); + +#define _spc TEXT_MASK += char(ch_spc, CUR_UV); +#define _exc TEXT_MASK += char(ch_exc, CUR_UV); +#define _quo TEXT_MASK += char(ch_quo, CUR_UV); +#define _hsh TEXT_MASK += char(ch_hsh, CUR_UV); +#define _dol TEXT_MASK += char(ch_dol, CUR_UV); +#define _pct TEXT_MASK += char(ch_pct, CUR_UV); +#define _amp TEXT_MASK += char(ch_amp, CUR_UV); +#define _apo TEXT_MASK += char(ch_apo, CUR_UV); +#define _lbr TEXT_MASK += char(ch_lbr, CUR_UV); +#define _rbr TEXT_MASK += char(ch_rbr, CUR_UV); +#define _ast TEXT_MASK += char(ch_ast, CUR_UV); +#define _crs TEXT_MASK += char(ch_crs, CUR_UV); +#define _per TEXT_MASK += char(ch_per, CUR_UV); +#define _dsh TEXT_MASK += char(ch_dsh, CUR_UV); +#define _com TEXT_MASK += char(ch_com, CUR_UV); +#define _lsl TEXT_MASK += char(ch_lsl, CUR_UV); +#define _0 TEXT_MASK += char(ch_0, CUR_UV); +#define _1 TEXT_MASK += char(ch_1, CUR_UV); +#define _2 TEXT_MASK += char(ch_2, CUR_UV); +#define _3 TEXT_MASK += char(ch_3, CUR_UV); +#define _4 TEXT_MASK += char(ch_4, CUR_UV); +#define _5 TEXT_MASK += char(ch_5, CUR_UV); +#define _6 TEXT_MASK += char(ch_6, CUR_UV); +#define _7 TEXT_MASK += char(ch_7, CUR_UV); +#define _8 TEXT_MASK += char(ch_8, CUR_UV); +#define _9 TEXT_MASK += char(ch_9, CUR_UV); +#define _col TEXT_MASK += char(ch_col, CUR_UV); +#define _scl TEXT_MASK += char(ch_scl, CUR_UV); +#define _les TEXT_MASK += char(ch_les, CUR_UV); +#define _equ TEXT_MASK += char(ch_equ, CUR_UV); +#define _grt TEXT_MASK += char(ch_grt, CUR_UV); +#define _que TEXT_MASK += char(ch_que, CUR_UV); +#define _ats TEXT_MASK += char(ch_ats, CUR_UV); +#define _A TEXT_MASK += char(ch_A, CUR_UV); +#define _B TEXT_MASK += char(ch_B, CUR_UV); +#define _C TEXT_MASK += char(ch_C, CUR_UV); +#define _D TEXT_MASK += char(ch_D, CUR_UV); +#define _E TEXT_MASK += char(ch_E, CUR_UV); +#define _F TEXT_MASK += char(ch_F, CUR_UV); +#define _G TEXT_MASK += char(ch_G, CUR_UV); +#define _H TEXT_MASK += char(ch_H, CUR_UV); +#define _I TEXT_MASK += char(ch_I, CUR_UV); +#define _J TEXT_MASK += char(ch_J, CUR_UV); +#define _K TEXT_MASK += char(ch_K, CUR_UV); +#define _L TEXT_MASK += char(ch_L, CUR_UV); +#define _M TEXT_MASK += char(ch_M, CUR_UV); +#define _N TEXT_MASK += char(ch_N, CUR_UV); +#define _O TEXT_MASK += char(ch_O, CUR_UV); +#define _P TEXT_MASK += char(ch_P, CUR_UV); +#define _Q TEXT_MASK += char(ch_Q, CUR_UV); +#define _R TEXT_MASK += char(ch_R, CUR_UV); +#define _S TEXT_MASK += char(ch_S, CUR_UV); +#define _T TEXT_MASK += char(ch_T, CUR_UV); +#define _U TEXT_MASK += char(ch_U, CUR_UV); +#define _V TEXT_MASK += char(ch_V, CUR_UV); +#define _W TEXT_MASK += char(ch_W, CUR_UV); +#define _X TEXT_MASK += char(ch_X, CUR_UV); +#define _Y TEXT_MASK += char(ch_Y, CUR_UV); +#define _Z TEXT_MASK += char(ch_Z, CUR_UV); +#define _lsb TEXT_MASK += char(ch_lsb, CUR_UV); +#define _rsl TEXT_MASK += char(ch_rsl, CUR_UV); +#define _rsb TEXT_MASK += char(ch_rsb, CUR_UV); +#define _pow TEXT_MASK += char(ch_pow, CUR_UV); +#define _usc TEXT_MASK += char(ch_usc, CUR_UV); +#define _a TEXT_MASK += char(ch_a, CUR_UV); +#define _b TEXT_MASK += char(ch_b, CUR_UV); +#define _c TEXT_MASK += char(ch_c, CUR_UV); +#define _d TEXT_MASK += char(ch_d, CUR_UV); +#define _e TEXT_MASK += char(ch_e, CUR_UV); +#define _f TEXT_MASK += char(ch_f, CUR_UV); +#define _g TEXT_MASK += char(ch_g, CUR_UV); +#define _h TEXT_MASK += char(ch_h, CUR_UV); +#define _i TEXT_MASK += char(ch_i, CUR_UV); +#define _j TEXT_MASK += char(ch_j, CUR_UV); +#define _k TEXT_MASK += char(ch_k, CUR_UV); +#define _l TEXT_MASK += char(ch_l, CUR_UV); +#define _m TEXT_MASK += char(ch_m, CUR_UV); +#define _n TEXT_MASK += char(ch_n, CUR_UV); +#define _o TEXT_MASK += char(ch_o, CUR_UV); +#define _p TEXT_MASK += char(ch_p, CUR_UV); +#define _q TEXT_MASK += char(ch_q, CUR_UV); +#define _r TEXT_MASK += char(ch_r, CUR_UV); +#define _s TEXT_MASK += char(ch_s, CUR_UV); +#define _t TEXT_MASK += char(ch_t, CUR_UV); +#define _u TEXT_MASK += char(ch_u, CUR_UV); +#define _v TEXT_MASK += char(ch_v, CUR_UV); +#define _w TEXT_MASK += char(ch_w, CUR_UV); +#define _x TEXT_MASK += char(ch_x, CUR_UV); +#define _y TEXT_MASK += char(ch_y, CUR_UV); +#define _z TEXT_MASK += char(ch_z, CUR_UV); +#define _lpa TEXT_MASK += char(ch_lpa, CUR_UV); +#define _bar TEXT_MASK += char(ch_bar, CUR_UV); +#define _rpa TEXT_MASK += char(ch_rpa, CUR_UV); +#define _tid TEXT_MASK += char(ch_tid, CUR_UV); +#define _lar TEXT_MASK += char(ch_lar, CUR_UV); + +vec2 res; +vec2 print_pos = vec2(0); + +//Extracts bit b from the given number. +//Shifts bits right (num / 2^bit) then ANDs the result with 1 (mod(result,2.0)). +float extract_bit(float n, float b) +{ + b = clamp(b,-1.0,22.0); //Fixes small artefacts on my nexus 7 + return floor(mod(floor(n / pow(2.0,floor(b))),2.0)); +} + +//Returns the pixel at uv in the given bit-packed sprite. +float sprite(vec2 spr, vec2 size, vec2 uv) +{ + uv = floor(uv); + //Calculate the bit to extract (x + y * width) (flipped on x-axis) + float bit = (size.x-uv.x-1.0) + uv.y * size.x; + + //Clipping bound to remove garbage outside the sprite's boundaries. + bool bounds = all(greaterThanEqual(uv,vec2(0))); + bounds = bounds && all(lessThan(uv,size)); + + return bounds ? extract_bit(spr.x, bit - 21.0)+extract_bit(spr.y, bit) : 0.0; + +} + +//Prints a character and moves the print position forward by 1 character width. +float char(vec2 ch, vec2 uv) +{ + float px = sprite(ch, CHAR_SIZE, uv - print_pos); + print_pos.x += CHAR_SPACING.x; + return px; +} + +//Returns the digit sprite for the given number. +vec2 get_digit(float d) +{ + d = floor(d); + + if(d == 0.0) return ch_0; + if(d == 1.0) return ch_1; + if(d == 2.0) return ch_2; + if(d == 3.0) return ch_3; + if(d == 4.0) return ch_4; + if(d == 5.0) return ch_5; + if(d == 6.0) return ch_6; + if(d == 7.0) return ch_7; + if(d == 8.0) return ch_8; + if(d == 9.0) return ch_9; + return vec2(0.0); +} + +//Prints out the given number starting at pos. +float print_number(float number,vec2 pos, vec2 uv) +{ + vec2 dec_pos = pos; + float result = 0.0; + + for(int i = 3;i >= -2;i--) + { + float clip = float(abs(number) > pow(10.0, float(i)) || i == 0); //Clip off leading zeros. + + float digit = mod(number / pow(10.0, float(i)),10.0); + + if(i == -1) + { + result += sprite(ch_per,CHAR_SIZE, uv - dec_pos) * clip; + dec_pos.x += CHAR_SPACING.x * clip; + } + result += sprite(get_digit(digit),CHAR_SIZE, uv - dec_pos) * clip; + + + dec_pos.x += CHAR_SPACING.x * clip; + } + + return result; +} + +float print_integer(float number, int zeros, vec2 uv) +{ + float result = 0.0; + + for(int i = MAX_INT_DIGITS;i >= 0;i--) + { + float digit = mod( number / pow(10.0, float(i)) , 10.0); + + if(abs(number) > pow(10.0, float(i)) || zeros > i || i == 0) //Clip off leading zeros. + { + result += char(get_digit(digit), uv); + } + } + return result; +} + #define eps 1e-3 +float DrawResolutions(vec2 uv, vec2 viewport_size, vec2 screen_size, vec2 derezed_size, vec2 negative_crop_added_size, vec2 cropped_original_size, vec2 sampling_res, vec2 int_mult) +{ + float col = 0.0; + + float current_line_index = 0; + float margin = STRHEIGHT(1); + + //Resolution Text + print_pos = vec2(margin, 0); + + // Line 14 Viewport Resolution ---------------------------------------------------- + print_pos.x = margin; + print_pos.y += STRHEIGHT(1); + + TEXT_MASK = 0; + CUR_UV = uv; + _V _i _e _w _p _o _r _t _spc _dsh _dsh _dsh _dsh _dsh _dsh _spc + TEXT_MASK += print_integer(viewport_size.x, 0, uv); + _spc _x _spc + TEXT_MASK += print_integer(viewport_size.y, 0, uv); + + // Line 13 Screen Resolution ---------------------------------------------------------- + print_pos.x = margin; + print_pos.y += STRHEIGHT(1); + + _S _c _r _e _e _n _spc _dsh _dsh _dsh _dsh _dsh _dsh _dsh _dsh _spc + TEXT_MASK += print_integer(screen_size.x, 0, uv); + _spc _x _spc + TEXT_MASK += print_integer(screen_size.y, 0, uv); + + // Line 12 Final Aspect Ratio ---------------------------------------------------------- + print_pos.x = margin; + print_pos.y += STRHEIGHT(1); + + _F _i _n _a _l _spc _A _s _p _e _c _t _spc _dsh _dsh _spc + TEXT_MASK += print_number(screen_size.x/screen_size.y > 1 ? screen_size.x/screen_size.y : screen_size.y/screen_size.x, print_pos, uv); + + // Line 11 Non-Int Scale Percent ---------------------------------------------------------- + print_pos.x = margin; + print_pos.y += STRHEIGHT(1); + + _N _o _n _spc _I _n _t _spc _S _c _l _spc _pct _dsh _dsh _spc + TEXT_MASK += print_number(screen_size.y / viewport_size.y * 100, print_pos, uv); + + // Line 10 Int Scale Vertical ---------------------------------------------------------- + print_pos.x = margin; + print_pos.y += STRHEIGHT(1); + + _I _n _t _spc _S _c _l _spc _V _e _r _t _spc _dsh _dsh _spc + + if (fract(int_mult.y) < 0.01 || fract(int_mult.y) > 0.99) + TEXT_MASK += print_number(int_mult.y, print_pos, uv); + else + TEXT_MASK += print_number(int_mult.y, print_pos, uv); + + // Line 09 Int Scale Horizontal ---------------------------------------------------------- + print_pos.x = margin; + print_pos.y += STRHEIGHT(1); + + _I _n _t _spc _S _c _l _spc _H _o _r _z _spc _dsh _dsh _spc + + if (fract(int_mult.x) < 0.01 || fract(int_mult.x) > 0.99) + TEXT_MASK += print_number(int_mult.x, print_pos, uv); + else + TEXT_MASK += print_number(int_mult.x, print_pos, uv); + + // Line 08 Sampling Resolution ---------------------------------------------------------- + if (cropped_original_size.x != sampling_res.x || cropped_original_size.y != sampling_res.y) + { + print_pos.x = margin; + print_pos.y += STRHEIGHT(1); + + _S _a _m _p _l _i _n _g _spc _R _e _s _spc _dsh _dsh _spc + + TEXT_MASK += print_integer(sampling_res.x, 0, uv); + _spc _x _spc + TEXT_MASK += print_integer(sampling_res.y, 0, uv); + } + + + // Line 07 CROPPED Resolution ---------------------------------------------------------- + if (cropped_original_size.x != ROTATED_CORE_PREPPED_SIZE.x || cropped_original_size.y != ROTATED_CORE_PREPPED_SIZE.y) + { + print_pos.x = margin; + print_pos.y += STRHEIGHT(1); + + _C _r _o _p _p _e _d _spc _dsh _dsh _dsh _dsh _dsh _dsh _dsh _spc + + TEXT_MASK += print_integer(cropped_original_size.x, 0, uv); + _spc _x _spc + TEXT_MASK += print_integer(cropped_original_size.y, 0, uv); + } + + + // Line 06 Negative Crop Resolution ---------------------------------------------------------- + if (derezed_size.x != ROTATED_CORE_PREPPED_SIZE.x || derezed_size.y != ROTATED_CORE_PREPPED_SIZE.y) + { + print_pos.x = margin; + print_pos.y += STRHEIGHT(1); + + _N _e _g _dsh _C _r _o _p _spc _A _d _d _spc _dsh _dsh _spc + + TEXT_MASK += print_integer(ROTATED_CORE_PREPPED_SIZE.x, 0, uv); + _spc _x _spc + TEXT_MASK += print_integer(ROTATED_CORE_PREPPED_SIZE.y, 0, uv); + } + + + // Line 05 DEREZ Resolution ---------------------------------------------------------- + if (derezed_size.x != ROTATED_CORE_ORIGINAL_SIZE.x || derezed_size.y != ROTATED_CORE_ORIGINAL_SIZE.y) + { + print_pos.x = margin; + print_pos.y += STRHEIGHT(1); + + _D _e _r _e _z _e _d _spc _dsh _dsh _dsh _dsh _dsh _dsh _dsh _spc + + TEXT_MASK += print_integer(derezed_size.x, 0, uv); + _spc _x _spc + TEXT_MASK += print_integer(derezed_size.y, 0, uv); + } + + + // Line 04 CORE Resolution ---------------------------------------------------------- + print_pos.x = margin; + print_pos.y += STRHEIGHT(1); + + _C _o _r _e _spc _dsh _dsh _dsh _dsh _dsh _dsh _dsh _dsh _dsh _dsh _spc + + TEXT_MASK += print_integer(ROTATED_CORE_ORIGINAL_SIZE.x, 0, uv); + _spc _x _spc + TEXT_MASK += print_integer(ROTATED_CORE_ORIGINAL_SIZE.y, 0, uv); + + // Line 03 Preset Type ---------------------------------------------------------- + print_pos.x = margin; + print_pos.y += STRHEIGHT(2); + +#ifdef IS_ADV_PRESET + _A _D _V _A _N _C _E _D +#endif + +#ifdef IS_STD_PRESET + _S _T _A _N _D _A _R _D +#endif + +#ifdef IS_GLASS_PRESET + _spc _G _L _A _S _S +#endif + +#ifdef IS_NO_REFLECT_PRESET + _spc _N _O _spc _R _E _F _L _E _C _T +#endif + +#ifdef IS_POTATO_PRESET + _P _O _T _A _T _O +#endif + + + // Line 02 Version ---------------------------------------------------------- + print_pos.x = margin; + print_pos.y += STRHEIGHT(1); + + // Version + _1 _per _4 _per _3 _spc + // Date + _2 _0 _2 _2 _dsh _1 _0 _dsh _0 _9 + + // Line 01 Title ---------------------------------------------------------- + print_pos.x = margin; + print_pos.y += STRHEIGHT(1); + + _M _E _G _A _spc _B _E _Z _E _L _spc + + return TEXT_MASK; +} + vec2 GetScreenSize(vec2 screen_scale) { vec2 screen_size = global.FinalViewportSize.xy * screen_scale; @@ -68,34 +588,40 @@ vec2 GetIntegerScaleMult(vec2 screen_size, vec2 cropped_size) return integer_scale; } -vec4 AddText(vec2 in_coord, vec4 in_color) +float GetText(vec2 in_coord) { in_coord.x = HSM_FLIP_VIEWPORT_HORIZONTAL * HSM_FLIP_CORE_HORIZONTAL * (in_coord.x - 0.5) + 0.5; in_coord.y = HSM_FLIP_VIEWPORT_VERTICAL * HSM_FLIP_CORE_VERTICAL * (in_coord.y - 0.5) + 0.5; vec2 screen_size = GetScreenSize(SCREEN_SCALE); - vec2 int_scale_mult = GetIntegerScaleMult(screen_size, CROPPED_ROTATED_SIZE); + vec2 int_mult = GetIntegerScaleMult(screen_size, CROPPED_ROTATED_SIZE); vec2 canvas_size = global.DerezedPassSize.xy; - vec4 out_color = in_color; - out_color = mix(out_color, vec4(0, 0, 0, 1), GetTextMask(in_coord + 2 * vec2(1/global.OutputSize.x, 0), global.FinalViewportSize.xy, screen_size, ROTATED_DEREZED_SIZE, ROTATED_CORE_PREPPED_SIZE, CROPPED_ROTATED_SIZE, CROPPED_ROTATED_SIZE_WITH_RES_MULT, int_scale_mult, canvas_size)); - out_color = mix(out_color, vec4(0, 0, 0, 1), GetTextMask(in_coord - 2 * vec2(1/global.OutputSize.x, 0), global.FinalViewportSize.xy, screen_size, ROTATED_DEREZED_SIZE, ROTATED_CORE_PREPPED_SIZE, CROPPED_ROTATED_SIZE, CROPPED_ROTATED_SIZE_WITH_RES_MULT, int_scale_mult, canvas_size)); - out_color = mix(out_color, vec4(0, 0, 0, 1), GetTextMask(in_coord + 1 * vec2(0, 1/global.OutputSize.y), global.FinalViewportSize.xy, screen_size, ROTATED_DEREZED_SIZE, ROTATED_CORE_PREPPED_SIZE, CROPPED_ROTATED_SIZE, CROPPED_ROTATED_SIZE_WITH_RES_MULT, int_scale_mult, canvas_size)); - out_color = mix(out_color, vec4(0, 0, 0, 1), GetTextMask(in_coord - 1 * vec2(0, 1/global.OutputSize.y), global.FinalViewportSize.xy, screen_size, ROTATED_DEREZED_SIZE, ROTATED_CORE_PREPPED_SIZE, CROPPED_ROTATED_SIZE, CROPPED_ROTATED_SIZE_WITH_RES_MULT, int_scale_mult, canvas_size)); - out_color = mix(out_color, vec4(1, 1, 0, 1), GetTextMask(in_coord, global.FinalViewportSize.xy, screen_size, ROTATED_DEREZED_SIZE, ROTATED_CORE_PREPPED_SIZE, CROPPED_ROTATED_SIZE, CROPPED_ROTATED_SIZE_WITH_RES_MULT, int_scale_mult, canvas_size)); - return clamp(out_color, 0, 1); + in_coord = (in_coord - 0.5) * vec2(1, -1) + 0.5; + float downscale = 1; + if (canvas_size.y > 460) downscale = 2; + if (canvas_size.y > 1000) downscale = 3; + + vec2 uv = global.OutputSize.xy * in_coord; + vec2 downscaled_uv = floor(global.OutputSize.xy * in_coord / downscale); + + float pixel = DrawResolutions(downscaled_uv, global.FinalViewportSize.xy, screen_size, ROTATED_DEREZED_SIZE, ROTATED_CORE_PREPPED_SIZE, CROPPED_ROTATED_SIZE, CROPPED_ROTATED_SIZE_WITH_RES_MULT, int_mult); + + vec3 col = vec3(1); + pixel *= (1 - distance(mod(uv, vec2(1.0)), vec2(0.65))) * 1.2; + col *= mix(vec3(0), vec3(1, 1, 1), pixel); + + return col.r; } void main() { vec2 UNFLIPPED_VIEWPORT_COORD = vTexCoord; vec2 VIEWPORT_COORD = vTexCoord; - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); - FragColor = vec4(0); - - vec4 feedback_color_test = texture(PassFeedback, vec2(0,0)); - if (feedback_color_test.a < 0 && !CACHE_INFO_CHANGED) + // vec4 feedback_color_test = texture(PassFeedback, vec2(0,0)); + if (!CACHE_INFO_CHANGED) { FragColor = texture(PassFeedback, UNFLIPPED_VIEWPORT_COORD); return; @@ -106,8 +632,5 @@ void main() VIEWPORT_COORD.x = HSM_FLIP_VIEWPORT_HORIZONTAL * HSM_FLIP_CORE_HORIZONTAL * (VIEWPORT_COORD.x - 0.5) + 0.5; //////// Draw text to show resolutions ////////// - FragColor = AddText(VIEWPORT_COORD - vec2(MAX_NEGATIVE_CROP, -MAX_NEGATIVE_CROP), FragColor); - - if (UNFLIPPED_VIEWPORT_COORD.x < (2 / global.OutputSize.x) && UNFLIPPED_VIEWPORT_COORD.y < (2 / global.OutputSize.y)) - FragColor = vec4(0.01, 0.01, 0.01, -1); + FragColor = vec4(GetText(VIEWPORT_COORD - vec2(MAX_NEGATIVE_CROP, -MAX_NEGATIVE_CROP))); } \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/dedither/dedither-gamma-prep-1-before.slang b/bezel/Mega_Bezel/shaders/dedither/dedither-gamma-prep-1-before.slang index b820d71..f9460bc 100644 --- a/bezel/Mega_Bezel/shaders/dedither/dedither-gamma-prep-1-before.slang +++ b/bezel/Mega_Bezel/shaders/dedither/dedither-gamma-prep-1-before.slang @@ -24,7 +24,7 @@ along with this program. If not, see . */ -#include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/helper-functions.inc" layout(push_constant) uniform Push { @@ -36,6 +36,11 @@ layout(push_constant) uniform Push float HSM_DEDITHER_BRIGHTNESS_BIAS; } params; +layout(std140, set = 0, binding = 0) uniform UBO +{ + mat4 MVP; +} global; + #pragma parameter HSM_DEDITHERING_TITLE "[ --- MDAPT & HYLLIAN DE-DITHERING --- ]:" 0 0 0.01 0.01 #pragma parameter HSM_DEDITHER_MODE "Mode: OFF| STRICT | RELAXED | HYLLIAN | HYL + STRIPES | STRIPES" 0 0 5 1 diff --git a/bezel/Mega_Bezel/shaders/dedither/dedither-gamma-prep-2-after.slang b/bezel/Mega_Bezel/shaders/dedither/dedither-gamma-prep-2-after.slang index 9a50ac5..f47ee7f 100644 --- a/bezel/Mega_Bezel/shaders/dedither/dedither-gamma-prep-2-after.slang +++ b/bezel/Mega_Bezel/shaders/dedither/dedither-gamma-prep-2-after.slang @@ -24,7 +24,7 @@ along with this program. If not, see . */ -#include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/helper-functions.inc" layout(push_constant) uniform Push { @@ -36,6 +36,11 @@ layout(push_constant) uniform Push float HSM_DEDITHER_BRIGHTNESS_BIAS; } params; +layout(std140, set = 0, binding = 0) uniform UBO +{ + mat4 MVP; +} global; + #pragma parameter HSM_DEDITHERING_TITLE "[ --- MDAPT & HYLLIAN DE-DITHERING --- ]:" 0 0 0.01 0.01 #pragma parameter HSM_DEDITHER_MODE "Mode: OFF| STRICT | RELAXED | HYLLIAN | HYL + STRIPES | STRIPES" 0 0 5 1 diff --git a/bezel/Mega_Bezel/shaders/dogway/hsm-grade.slang b/bezel/Mega_Bezel/shaders/dogway/hsm-grade.slang index 04e2605..615b211 100644 --- a/bezel/Mega_Bezel/shaders/dogway/hsm-grade.slang +++ b/bezel/Mega_Bezel/shaders/dogway/hsm-grade.slang @@ -1,6 +1,7 @@ #version 450 #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" layout(push_constant) uniform Push { @@ -222,7 +223,6 @@ layout(location = 0) in vec2 vTexCoord; layout(location = 0) out vec4 FragColor; layout(set = 0, binding = 1) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 2) uniform sampler2D InfoCachePassFeedback; layout(set = 0, binding = 3) uniform sampler2D Source; // HSM Removed @@ -881,7 +881,7 @@ vec3 vcolor = adj; // HSM Added vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); vec2 derezed_size = HSM_GetNegativeCropAddedSize(); vec2 cur_pixel_pos = vTexCoord * derezed_size; vec2 cropped_size = HSM_ROTATE_CORE_IMAGE > 0.5 ? vec2(CROPPED_ROTATED_SIZE.y, CROPPED_ROTATED_SIZE.x) : CROPPED_ROTATED_SIZE; diff --git a/bezel/Mega_Bezel/shaders/easymode/hsm-crt-easymode-halation-basic-border.slang b/bezel/Mega_Bezel/shaders/easymode/hsm-crt-easymode-halation-basic-border.slang index 7e14018..efddcf3 100644 --- a/bezel/Mega_Bezel/shaders/easymode/hsm-crt-easymode-halation-basic-border.slang +++ b/bezel/Mega_Bezel/shaders/easymode/hsm-crt-easymode-halation-basic-border.slang @@ -1,4 +1,5 @@ #version 450 #include "../base/common/globals-and-basic-params.inc" +#include "../base/common/common-functions.inc" #include "hsm-crt-easymode-halation.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/easymode/hsm-crt-easymode-halation.inc b/bezel/Mega_Bezel/shaders/easymode/hsm-crt-easymode-halation.inc index 57e433a..11248f4 100644 --- a/bezel/Mega_Bezel/shaders/easymode/hsm-crt-easymode-halation.inc +++ b/bezel/Mega_Bezel/shaders/easymode/hsm-crt-easymode-halation.inc @@ -164,7 +164,6 @@ layout(location = 0) out vec4 FragColor; layout(set = 0, binding = 1) uniform sampler2D Source; layout(set = 0, binding = 2) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 3) uniform sampler2D InfoCachePassFeedback; layout(set = 0, binding = 4) uniform sampler2D LinearizePass; @@ -177,7 +176,7 @@ void main() // TODO implement Cropping // HSM Added vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); vec2 tex_size = CROPPED_ROTATED_SIZE_WITH_RES_MULT; // End Addition diff --git a/bezel/Mega_Bezel/shaders/easymode/hsm-crt-easymode-halation.slang b/bezel/Mega_Bezel/shaders/easymode/hsm-crt-easymode-halation.slang index 5d31c16..de5ffec 100644 --- a/bezel/Mega_Bezel/shaders/easymode/hsm-crt-easymode-halation.slang +++ b/bezel/Mega_Bezel/shaders/easymode/hsm-crt-easymode-halation.slang @@ -1,4 +1,5 @@ #version 450 #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" #include "hsm-crt-easymode-halation.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/guest/grade/hsm-pre-shaders-afterglow-grade.slang b/bezel/Mega_Bezel/shaders/guest/grade/hsm-pre-shaders-afterglow-grade.slang index c338911..da9dfdd 100644 --- a/bezel/Mega_Bezel/shaders/guest/grade/hsm-pre-shaders-afterglow-grade.slang +++ b/bezel/Mega_Bezel/shaders/guest/grade/hsm-pre-shaders-afterglow-grade.slang @@ -228,7 +228,6 @@ layout(location = 0) in vec2 vTexCoord; layout(location = 0) out vec4 FragColor; layout(set = 0, binding = 1) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 2) uniform sampler2D InfoCachePassFeedback; layout(set = 0, binding = 3) uniform sampler2D Source; layout(set = 0, binding = 4) uniform sampler2D PreCRTPass; @@ -898,7 +897,7 @@ vec3 vcolor = adj; // HSM Added vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); vec2 derezed_size = HSM_GetNegativeCropAddedSize(); vec2 cur_pixel_pos = vTexCoord * derezed_size; vec2 cropped_size = HSM_ROTATE_CORE_IMAGE > 0.5 ? vec2(CROPPED_ROTATED_SIZE.y, CROPPED_ROTATED_SIZE.x) : CROPPED_ROTATED_SIZE; diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-crt-dariusg-gdv-mini-potato.slang b/bezel/Mega_Bezel/shaders/guest/hsm-crt-dariusg-gdv-mini-potato.slang index 2601902..c5c0597 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-crt-dariusg-gdv-mini-potato.slang +++ b/bezel/Mega_Bezel/shaders/guest/hsm-crt-dariusg-gdv-mini-potato.slang @@ -1,4 +1,5 @@ #version 450 #include "../base/common/globals-and-potato-params.inc" +#include "../base/common/common-functions.inc" #include "hsm-crt-dariusg-gdv-mini.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-crt-dariusg-gdv-mini.inc b/bezel/Mega_Bezel/shaders/guest/hsm-crt-dariusg-gdv-mini.inc index 42e0bd6..7fffa0a 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-crt-dariusg-gdv-mini.inc +++ b/bezel/Mega_Bezel/shaders/guest/hsm-crt-dariusg-gdv-mini.inc @@ -98,7 +98,6 @@ layout(location = 0) out vec4 FragColor; layout(set = 0, binding = 1) uniform sampler2D Source; layout(set = 0, binding = 2) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 3) uniform sampler2D InfoCachePassFeedback; float sw(float x, float l) { @@ -253,7 +252,7 @@ void main() { // HSM Added vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); vec2 cache_bounds_coord = SCREEN_COORD; diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-crt-dariusg-gdv-mini.slang b/bezel/Mega_Bezel/shaders/guest/hsm-crt-dariusg-gdv-mini.slang index 431324d..1daf4e3 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-crt-dariusg-gdv-mini.slang +++ b/bezel/Mega_Bezel/shaders/guest/hsm-crt-dariusg-gdv-mini.slang @@ -1,6 +1,7 @@ #version 450 #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" #include "../base/common/params-2-bezel.inc" #include "../base/common/common-functions-bezel.inc" #include "hsm-crt-dariusg-gdv-mini.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-no-reflect.slang b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-no-reflect.slang index c93f3c8..74ab3bd 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-no-reflect.slang +++ b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-no-reflect.slang @@ -2,4 +2,5 @@ #define IS_NO_REFLECT_PRESET #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" #include "hsm-crt-guest-advanced.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass1.inc b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass1.inc index 2aedb01..73e9cae 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass1.inc +++ b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass1.inc @@ -85,7 +85,6 @@ layout(location = 0) in vec2 vTexCoord; layout(location = 0) out vec4 FragColor; layout(set = 0, binding = 2) uniform sampler2D LinearizePass; layout(set = 0, binding = 3) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 4) uniform sampler2D InfoCachePassFeedback; float invsqrsigma = 1.0/(2.0*SIGMA_HOR*SIGMA_HOR); @@ -98,7 +97,7 @@ void main() { // HSM Added vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); // If it's the potato preset render the whole frame #ifndef IS_POTATO_PRESET diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass1.slang b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass1.slang index 3b108a5..e4db21f 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass1.slang +++ b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass1.slang @@ -1,6 +1,7 @@ #version 450 #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" #include "../base/common/params-2-bezel.inc" #include "../base/common/common-functions-bezel.inc" #include "hsm-crt-guest-advanced-ntsc-pass1.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2-no-reflect.slang b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2-no-reflect.slang index e8da457..e8367c4 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2-no-reflect.slang +++ b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2-no-reflect.slang @@ -2,4 +2,5 @@ #define IS_NO_REFLECT_PRESET #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" #include "hsm-crt-guest-advanced-ntsc-pass2.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2-potato.slang b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2-potato.slang index 8db2d56..47d9e26 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2-potato.slang +++ b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2-potato.slang @@ -1,4 +1,5 @@ #version 450 #include "../base/common/globals-and-potato-params.inc" +#include "../base/common/common-functions.inc" #include "hsm-crt-guest-advanced-ntsc-pass2.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2.inc b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2.inc index 6cb3fe5..6c5830d 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2.inc +++ b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2.inc @@ -177,7 +177,6 @@ layout(set = 0, binding = 2) uniform sampler2D LinearizePass; layout(set = 0, binding = 3) uniform sampler2D AvgLumPass; layout(set = 0, binding = 4) uniform sampler2D Pass1; layout(set = 0, binding = 6) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 7) uniform sampler2D InfoCachePassFeedback; #define eps 1e-8 @@ -242,7 +241,7 @@ void main() { // HSM Added vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); vec2 cache_bounds_coord = SCREEN_COORD; diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2.slang b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2.slang index 6b61dff..ed40644 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2.slang +++ b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc-pass2.slang @@ -1,6 +1,7 @@ #version 450 #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" #include "../base/common/params-2-bezel.inc" #include "../base/common/common-functions-bezel.inc" #include "hsm-crt-guest-advanced-ntsc-pass2.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc.slang b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc.slang index 8795dc7..a4d86e9 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc.slang +++ b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-ntsc.slang @@ -1,6 +1,7 @@ #version 450 #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" #include "../base/common/params-2-bezel.inc" #include "../base/common/common-functions-bezel.inc" #include "hsm-crt-guest-advanced.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-potato.slang b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-potato.slang index 17e6265..9111884 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-potato.slang +++ b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced-potato.slang @@ -1,4 +1,5 @@ #version 450 #include "../base/common/globals-and-potato-params.inc" +#include "../base/common/common-functions.inc" #include "hsm-crt-guest-advanced.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced.inc b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced.inc index cb7ac5a..269537d 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced.inc +++ b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced.inc @@ -176,7 +176,6 @@ layout(set = 0, binding = 4) uniform sampler2D PrePass; // HSM Added layout(set = 0, binding = 6) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 7) uniform sampler2D InfoCachePassFeedback; #define eps 1e-10 @@ -240,7 +239,7 @@ void main() { // HSM Added vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); bool ntsc_processing_on = false; #ifdef IS_NTSC diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced.slang b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced.slang index 8795dc7..a4d86e9 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced.slang +++ b/bezel/Mega_Bezel/shaders/guest/hsm-crt-guest-advanced.slang @@ -1,6 +1,7 @@ #version 450 #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" #include "../base/common/params-2-bezel.inc" #include "../base/common/common-functions-bezel.inc" #include "hsm-crt-guest-advanced.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence-no-reflect.slang b/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence-no-reflect.slang index 567ee2a..769b90f 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence-no-reflect.slang +++ b/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence-no-reflect.slang @@ -2,4 +2,5 @@ #define IS_NO_REFLECT_PRESET #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" #include "hsm-deconvergence.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence-potato.slang b/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence-potato.slang index 61a02c6..b36040e 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence-potato.slang +++ b/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence-potato.slang @@ -2,4 +2,5 @@ #define IS_POTATO_PRESET #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" #include "hsm-deconvergence.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence.inc b/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence.inc index ccf105b..ecc42ba 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence.inc +++ b/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence.inc @@ -221,7 +221,6 @@ layout(set = 0, binding = 7) uniform sampler2D Source; // HSM Added layout(set = 0, binding = 8) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 9) uniform sampler2D InfoCachePassFeedback; #define eps 1e-10 @@ -596,7 +595,7 @@ void main() // HSM Added vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); vec2 SourceSize = CROPPED_ROTATED_SIZE_WITH_RES_MULT; float TATE = USE_VERTICAL_SCANLINES; diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence.slang b/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence.slang index 6d5a299..27e51fc 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence.slang +++ b/bezel/Mega_Bezel/shaders/guest/hsm-deconvergence.slang @@ -1,6 +1,7 @@ #version 450 #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" #include "../base/common/params-2-bezel.inc" #include "../base/common/common-functions-bezel.inc" #include "hsm-deconvergence.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/guest/hsm-interlace-and-linearize.slang b/bezel/Mega_Bezel/shaders/guest/hsm-interlace-and-linearize.slang index cef5134..11119af 100644 --- a/bezel/Mega_Bezel/shaders/guest/hsm-interlace-and-linearize.slang +++ b/bezel/Mega_Bezel/shaders/guest/hsm-interlace-and-linearize.slang @@ -22,6 +22,7 @@ */ #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" layout(push_constant) uniform Push { @@ -106,7 +107,6 @@ layout(location = 0) in vec2 vTexCoord; layout(location = 0) out vec4 FragColor; layout(set = 0, binding = 1) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 2) uniform sampler2D InfoCachePassFeedback; layout(set = 0, binding = 3) uniform sampler2D PrePass; layout(set = 0, binding = 4) uniform sampler2D NegativeCropAddedPass; @@ -162,7 +162,7 @@ void main() vec3 c2 = vec3(0); // HSM Added - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); use_vert_scanlines_bool = (USE_VERTICAL_SCANLINES > 0.5); diff --git a/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/crt-hyllian-sinc-curvature.slang b/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/crt-hyllian-sinc-curvature.slang index 2cad8da..bc03af5 100644 --- a/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/crt-hyllian-sinc-curvature.slang +++ b/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/crt-hyllian-sinc-curvature.slang @@ -70,7 +70,6 @@ layout(location = 1) in vec2 FragCoord; layout(location = 0) out vec4 FragColor; layout(set = 0, binding = 2) uniform sampler2D Source; layout(set = 0, binding = 3) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 4) uniform sampler2D InfoCachePassFeedback; /* Hyllian's CRT Shader - Sinc/Spline16 version @@ -185,7 +184,7 @@ void main() { // HSM Added vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); vec2 cache_bounds_coord = SCREEN_COORD; diff --git a/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/custom-bicubic-x.slang b/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/custom-bicubic-x.slang index e67633f..47d49d9 100644 --- a/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/custom-bicubic-x.slang +++ b/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/custom-bicubic-x.slang @@ -85,7 +85,7 @@ void main() { // // HSM Added // vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); -// HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); +// HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); // vec2 cache_bounds_coord = SCREEN_COORD; diff --git a/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/custom-bicubic-y.slang b/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/custom-bicubic-y.slang index a722ff8..7e32762 100644 --- a/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/custom-bicubic-y.slang +++ b/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/custom-bicubic-y.slang @@ -85,7 +85,7 @@ void main() { // // HSM Added // vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); -// HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); +// HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); // vec2 cache_bounds_coord = SCREEN_COORD; diff --git a/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/custom-resolve.slang b/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/custom-resolve.slang index 0d77bf7..96c612b 100644 --- a/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/custom-resolve.slang +++ b/bezel/Mega_Bezel/shaders/hyllian/crt-super-xbr/custom-resolve.slang @@ -52,7 +52,7 @@ void main() { // // HSM Added // vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); -// HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); +// HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); // vec2 cache_bounds_coord = SCREEN_COORD; diff --git a/bezel/Mega_Bezel/shaders/lcd-cgwg/hsm-lcd-grid-v2-basic-border.slang b/bezel/Mega_Bezel/shaders/lcd-cgwg/hsm-lcd-grid-v2-basic-border.slang index be489b8..f87b534 100644 --- a/bezel/Mega_Bezel/shaders/lcd-cgwg/hsm-lcd-grid-v2-basic-border.slang +++ b/bezel/Mega_Bezel/shaders/lcd-cgwg/hsm-lcd-grid-v2-basic-border.slang @@ -1,4 +1,5 @@ #version 450 #include "../base/common/globals-and-basic-params.inc" +#include "../base/common/common-functions.inc" #include "hsm-lcd-grid-v2.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/lcd-cgwg/hsm-lcd-grid-v2.inc b/bezel/Mega_Bezel/shaders/lcd-cgwg/hsm-lcd-grid-v2.inc index 25e943c..b732f74 100644 --- a/bezel/Mega_Bezel/shaders/lcd-cgwg/hsm-lcd-grid-v2.inc +++ b/bezel/Mega_Bezel/shaders/lcd-cgwg/hsm-lcd-grid-v2.inc @@ -57,7 +57,6 @@ layout(set = 0, binding = 1) uniform sampler2D IntroPass; layout(set = 0, binding = 2) uniform sampler2D Source; layout(set = 0, binding = 3) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 4) uniform sampler2D InfoCachePassFeedback; layout(location = 0) out vec4 FragColor; @@ -103,7 +102,7 @@ void main() { // HSM Added vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); vec2 cache_bounds_coord = SCREEN_COORD; diff --git a/bezel/Mega_Bezel/shaders/lcd-cgwg/hsm-lcd-grid-v2.slang b/bezel/Mega_Bezel/shaders/lcd-cgwg/hsm-lcd-grid-v2.slang index 3243442..be8f107 100644 --- a/bezel/Mega_Bezel/shaders/lcd-cgwg/hsm-lcd-grid-v2.slang +++ b/bezel/Mega_Bezel/shaders/lcd-cgwg/hsm-lcd-grid-v2.slang @@ -1,4 +1,5 @@ #version 450 #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" #include "hsm-lcd-grid-v2.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron-no-reflect.slang b/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron-no-reflect.slang index 1017c3f..13c1bc1 100644 --- a/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron-no-reflect.slang +++ b/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron-no-reflect.slang @@ -2,4 +2,5 @@ #define IS_NO_REFLECT_PRESET #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" #include "crt-sony-megatron.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron-potato.slang b/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron-potato.slang index 6822803..a1c64a6 100644 --- a/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron-potato.slang +++ b/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron-potato.slang @@ -1,4 +1,5 @@ #version 450 #include "../base/common/globals-and-potato-params.inc" +#include "../base/common/common-functions.inc" #include "crt-sony-megatron.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron.inc b/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron.inc index a56d4a7..f67e7ab 100644 --- a/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron.inc +++ b/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron.inc @@ -160,7 +160,6 @@ layout(location = 0) out vec4 FragColor; layout(set = 0, binding = 2) uniform sampler2D SourceSDR; layout(set = 0, binding = 3) uniform sampler2D SourceHDR; layout(set = 0, binding = 4) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 5) uniform sampler2D InfoCachePassFeedback; #define kChannelMask 3 @@ -1149,7 +1148,7 @@ void main() { // HSM Added vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); vec2 cache_bounds_coord = SCREEN_COORD; diff --git a/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron.slang b/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron.slang index b5e2509..8bff444 100644 --- a/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron.slang +++ b/bezel/Mega_Bezel/shaders/megatron/crt-sony-megatron.slang @@ -1,6 +1,7 @@ #version 450 #include "../base/common/globals-and-screen-scale-params.inc" +#include "../base/common/common-functions.inc" #include "../base/common/params-2-bezel.inc" #include "../base/common/common-functions-bezel.inc" #include "crt-sony-megatron.inc" \ No newline at end of file diff --git a/bezel/Mega_Bezel/shaders/newpixie/hsm-newpixie-crt.slang b/bezel/Mega_Bezel/shaders/newpixie/hsm-newpixie-crt.slang index 9c0399a..75b6a3a 100644 --- a/bezel/Mega_Bezel/shaders/newpixie/hsm-newpixie-crt.slang +++ b/bezel/Mega_Bezel/shaders/newpixie/hsm-newpixie-crt.slang @@ -95,7 +95,6 @@ layout(location = 0) in vec2 vTexCoord; layout(location = 0) out vec4 FragColor; layout(set = 0, binding = 2) uniform sampler2D InfoCachePass; -layout(set = 0, binding = 3) uniform sampler2D InfoCachePassFeedback; layout(set = 0, binding = 4) uniform sampler2D accum1; layout(set = 0, binding = 5) uniform sampler2D blur2; @@ -147,7 +146,7 @@ float rand(vec2 co) void main() { vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); - HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); + HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord); // stop time variable so the screen doesn't wiggle float time = 1.0;