Mega Bezel V1.4.3_2022-10-09

This commit is contained in:
HyperspaceMadness 2022-10-10 16:26:21 -04:00
parent f8f99ee220
commit 61dcae3c81
151 changed files with 7376 additions and 1585 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -439,17 +439,17 @@ SUPERXBR_ON = 1
ntsc_scale = 0.55 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_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0
gamma_c = 0.9 // gamma_c = 0.9
gsl = -1 // gsl = -1
scanline1 = 3 // scanline1 = 3
shadowMask = 3 // shadowMask = 3
maskDark = 0.4 // maskDark = 0.4
maskLight = 1.2 // maskLight = 1.2
mask_gamma = 4 // mask_gamma = 4

View file

@ -414,17 +414,17 @@ SUPERXBR_ON = 1
ntsc_scale = 0.55 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_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0
gamma_c = 0.9 // gamma_c = 0.9
gsl = -1 // gsl = -1
scanline1 = 3 // scanline1 = 3
shadowMask = 3 // shadowMask = 3
maskDark = 0.4 // maskDark = 0.4
maskLight = 1.2 // maskLight = 1.2
mask_gamma = 4 // mask_gamma = 4

View file

@ -455,17 +455,17 @@ SUPERXBR_ON = 1
ntsc_scale = 0.55 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_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0
gamma_c = 0.9 // gamma_c = 0.9
gsl = -1 // gsl = -1
scanline1 = 3 // scanline1 = 3
shadowMask = 3 // shadowMask = 3
maskDark = 0.4 // maskDark = 0.4
maskLight = 1.2 // maskLight = 1.2
mask_gamma = 4 // mask_gamma = 4

View file

@ -430,17 +430,17 @@ SUPERXBR_ON = 1
ntsc_scale = 0.55 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_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0
gamma_c = 0.9 // gamma_c = 0.9
gsl = -1 // gsl = -1
scanline1 = 3 // scanline1 = 3
shadowMask = 3 // shadowMask = 3
maskDark = 0.4 // maskDark = 0.4
maskLight = 1.2 // maskLight = 1.2
mask_gamma = 4 // mask_gamma = 4

View file

@ -385,17 +385,17 @@ SUPERXBR_ON = 1
ntsc_scale = 0.55 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_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0
gamma_c = 0.9 // gamma_c = 0.9
gsl = -1 // gsl = -1
scanline1 = 3 // scanline1 = 3
shadowMask = 3 // shadowMask = 3
maskDark = 0.4 // maskDark = 0.4
maskLight = 1.2 // maskLight = 1.2
mask_gamma = 4 // mask_gamma = 4

View file

@ -360,17 +360,17 @@ SUPERXBR_ON = 1
ntsc_scale = 0.55 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_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0
gamma_c = 0.9 // gamma_c = 0.9
gsl = -1 // gsl = -1
scanline1 = 3 // scanline1 = 3
shadowMask = 3 // shadowMask = 3
maskDark = 0.4 // maskDark = 0.4
maskLight = 1.2 // maskLight = 1.2
mask_gamma = 4 // mask_gamma = 4

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -453,17 +453,17 @@ SUPERXBR_ON = 1
ntsc_scale = 0.55 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_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0
gamma_c = 0.9 // gamma_c = 0.9
gsl = -1 // gsl = -1
scanline1 = 3 // scanline1 = 3
shadowMask = 3 // shadowMask = 3
maskDark = 0.4 // maskDark = 0.4
maskLight = 1.2 // maskLight = 1.2
mask_gamma = 4 // mask_gamma = 4

View file

@ -414,17 +414,17 @@ SUPERXBR_ON = 1
ntsc_scale = 0.55 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_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0
gamma_c = 0.9 // gamma_c = 0.9
gsl = -1 // gsl = -1
scanline1 = 3 // scanline1 = 3
shadowMask = 3 // shadowMask = 3
maskDark = 0.4 // maskDark = 0.4
maskLight = 1.2 // maskLight = 1.2
mask_gamma = 4 // mask_gamma = 4

View file

@ -449,17 +449,17 @@ SUPERXBR_ON = 1
ntsc_scale = 0.55 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_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0
gamma_c = 0.9 // gamma_c = 0.9
gsl = -1 // gsl = -1
scanline1 = 3 // scanline1 = 3
shadowMask = 3 // shadowMask = 3
maskDark = 0.4 // maskDark = 0.4
maskLight = 1.2 // maskLight = 1.2
mask_gamma = 4 // mask_gamma = 4

View file

@ -379,17 +379,17 @@ SUPERXBR_ON = 1
ntsc_scale = 0.55 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_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0
gamma_c = 0.9 // gamma_c = 0.9
gsl = -1 // gsl = -1
scanline1 = 3 // scanline1 = 3
shadowMask = 3 // shadowMask = 3
maskDark = 0.4 // maskDark = 0.4
maskLight = 1.2 // maskLight = 1.2
mask_gamma = 4 // mask_gamma = 4

View file

@ -383,17 +383,17 @@ SUPERXBR_ON = 1
ntsc_scale = 0.55 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_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0
gamma_c = 0.9 // gamma_c = 0.9
gsl = -1 // gsl = -1
scanline1 = 3 // scanline1 = 3
shadowMask = 3 // shadowMask = 3
maskDark = 0.4 // maskDark = 0.4
maskLight = 1.2 // maskLight = 1.2
mask_gamma = 4 // mask_gamma = 4

View file

@ -344,17 +344,17 @@ SUPERXBR_ON = 1
ntsc_scale = 0.55 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_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0
gamma_c = 0.9 // gamma_c = 0.9
gsl = -1 // gsl = -1
scanline1 = 3 // scanline1 = 3
shadowMask = 3 // shadowMask = 3
maskDark = 0.4 // maskDark = 0.4
maskLight = 1.2 // maskLight = 1.2
mask_gamma = 4 // mask_gamma = 4

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -303,17 +303,17 @@ SUPERXBR_ON = 1
ntsc_scale = 0.55 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_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0
gamma_c = 0.9 // gamma_c = 0.9
gsl = -1 // gsl = -1
scanline1 = 3 // scanline1 = 3
shadowMask = 3 // shadowMask = 3
maskDark = 0.4 // maskDark = 0.4
maskLight = 1.2 // maskLight = 1.2
mask_gamma = 4 // mask_gamma = 4

View file

@ -264,17 +264,17 @@ SUPERXBR_ON = 1
ntsc_scale = 0.55 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_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR = 100
HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0 HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = 0
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0 HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = 0
gamma_c = 0.9 // gamma_c = 0.9
gsl = -1 // gsl = -1
scanline1 = 3 // scanline1 = 3
shadowMask = 3 // shadowMask = 3
maskDark = 0.4 // maskDark = 0.4
maskLight = 1.2 // maskLight = 1.2
mask_gamma = 4 // mask_gamma = 4

View file

@ -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"

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,5 +1,3 @@
#reference "../../Base_CRT_Presets/MBZ__5__POTATO__GDV.slangp"
BackgroundImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png BackgroundImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png
BackgroundVertImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png BackgroundVertImage = ../../../shaders/textures/Placeholder_Transparent_16x16.png
NightLightingImage = ../../../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_BZL_OPACITY = 0
HSM_FRM_OPACITY = 0 HSM_FRM_OPACITY = 0

View file

@ -0,0 +1,3 @@
#reference "../../Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__GDV.slangp"
#reference "Max-Int-Scale.params"

View file

@ -0,0 +1,3 @@
#reference "../../Base_CRT_Presets/MBZ__0__SMOOTH-ADV-SCREEN-ONLY__GDV-NTSC.slangp"
#reference "Max-Int-Scale.params"

View file

@ -0,0 +1,2 @@
#reference "../../Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY-SUPER-XBR__GDV.slangp"
#reference "Max-Int-Scale.params"

View file

@ -0,0 +1,2 @@
#reference "../../Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY-SUPER-XBR__GDV-NTSC.slangp"
#reference "Max-Int-Scale.params"

View file

@ -0,0 +1,2 @@
#reference "../../Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__GDV.slangp"
#reference "Max-Int-Scale.params"

View file

@ -0,0 +1,2 @@
#reference "../../Base_CRT_Presets/MBZ__2__ADV-SCREEN-ONLY__GDV-NTSC.slangp"
#reference "Max-Int-Scale.params"

View file

@ -0,0 +1,2 @@
#reference "../../Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY-SUPER-XBR__GDV.slangp"
#reference "Max-Int-Scale.params"

View file

@ -0,0 +1,2 @@
#reference "../../Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY-SUPER-XBR__GDV-NTSC.slangp"
#reference "Max-Int-Scale.params"

View file

@ -0,0 +1,2 @@
#reference "../../Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV.slangp"
#reference "Max-Int-Scale.params"

View file

@ -0,0 +1,2 @@
#reference "../../Base_CRT_Presets/MBZ__4__STD-SCREEN-ONLY__GDV-NTSC.slangp"
#reference "Max-Int-Scale.params"

View file

@ -0,0 +1,2 @@
#reference "../../Base_CRT_Presets/MBZ__5__POTATO-SUPER-XBR__GDV.slangp"
#reference "Max-Int-Scale.params"

View file

@ -0,0 +1,2 @@
#reference "../../Base_CRT_Presets/MBZ__5__POTATO-SUPER-XBR__GDV-NTSC.slangp"
#reference "Max-Int-Scale.params"

View file

@ -0,0 +1,2 @@
#reference "../../Base_CRT_Presets/MBZ__5__POTATO__GDV.slangp"
#reference "Max-Int-Scale.params"

View file

@ -0,0 +1,2 @@
#reference "../../Base_CRT_Presets/MBZ__5__POTATO__GDV-NTSC.slangp"
#reference "Max-Int-Scale.params"

View file

@ -3,7 +3,7 @@ Mega Bezel Shader Readme
------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------
![Mega Bezel Logo](MegaBezelLogo.png) ![Mega Bezel Logo](MegaBezelLogo.png)
**Version V1.4.2_2022-09-27** **Version V1.4.3_2022-10-09**
---------------------------------------- ----------------------------------------
---------------------------------------- ----------------------------------------

View file

@ -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

View file

@ -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

View file

@ -1,19 +1,29 @@
![Mega_Bezel_Logo|512x256, 75%](upload://6PNkvcMF9Go9Wnk6OJXfYR1opXI.png) ![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: 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 --------------------------------------- --- TODO ---------------------------------------
---------------------------------------------------- ----------------------------------------------------
* Try Leveraging Fake Scanlines for Gameboy type effect * Fix Blur Noise Samples
* Integer Scale Mode not affecting tube scale * 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 * Add .params #reference to with all parameters commented out
* Bezel shadow on Potato Tube / Game Image * 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 -------------------------------------- --- Examples --------------------------------------

View file

@ -1,4 +1,5 @@
#version 450 #version 450
#include "common/globals-and-all-params.inc" #include "common/globals-and-all-params.inc"
#include "common/common-functions.inc"
#include "stock.inc" #include "stock.inc"

View file

@ -1,4 +1,5 @@
#version 450 #version 450
#include "common/globals-and-glass-params.inc" #include "common/globals-and-glass-params.inc"
#include "common/common-functions.inc"
#include "stock.inc" #include "stock.inc"

View file

@ -3,4 +3,5 @@
#define IS_NO_REFLECT_PRESET #define IS_NO_REFLECT_PRESET
#include "common/globals-and-image-layers-params.inc" #include "common/globals-and-image-layers-params.inc"
#include "common/common-functions.inc"
#include "stock.inc" #include "stock.inc"

View file

@ -1,4 +1,5 @@
#version 450 #version 450
#include "common/globals-and-potato-params.inc" #include "common/globals-and-potato-params.inc"
#include "common/common-functions.inc"
#include "stock.inc" #include "stock.inc"

View file

@ -4,4 +4,5 @@
/////////////// IMPORTS /////////////// /////////////// IMPORTS ///////////////
#include "common/globals-and-image-layers-params.inc" #include "common/globals-and-image-layers-params.inc"
#include "common/common-functions.inc"
#include "bezel-images.inc" #include "bezel-images.inc"

View file

@ -4,4 +4,5 @@
/////////////// IMPORTS /////////////// /////////////// IMPORTS ///////////////
#include "common/globals-and-image-layers-params.inc" #include "common/globals-and-image-layers-params.inc"
#include "common/common-functions.inc"
#include "bezel-images.inc" #include "bezel-images.inc"

View file

@ -309,7 +309,6 @@ layout(location = 0) out vec4 FragColor;
// Pass Framebuffer Textures // Pass Framebuffer Textures
layout(set = 0, binding = 1) uniform sampler2D InfoCachePass; 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 = 3) uniform sampler2D BackgroundImage;
layout(set = 0, binding = 4) uniform sampler2D BackgroundVertImage; layout(set = 0, binding = 4) uniform sampler2D BackgroundVertImage;
@ -345,7 +344,7 @@ void main()
VIEWPORT_UNSCALED_COORD = HSM_GetViewportCoordWithFlip(vTexCoord); VIEWPORT_UNSCALED_COORD = HSM_GetViewportCoordWithFlip(vTexCoord);
VIEWPORT_COORD = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); VIEWPORT_COORD = HSM_GetViewportCoordWithZoomAndPan(vTexCoord);
HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord); HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord);
vec4 feedback_color_test = texture(PassFeedback, vec2(0,0)); vec4 feedback_color_test = texture(PassFeedback, vec2(0,0));
if (HSM_CACHE_GRAPHICS_ON > 0.5 && feedback_color_test.a < 0 && !CACHE_INFO_CHANGED) 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_BZL_BLEND_MODE,
HSM_AMBIENT_LIGHTING_SWAP_IMAGE_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) if (HSM_BZL_OPACITY > 0 || HSM_FRM_OPACITY > 0)
bezel_layer = clamp(bezel_and_frame_rgba * FRAME_AND_BEZEL_MASK, 0, 1); 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); 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 // end of ifndef LAYERS_UNDER_CRT
#endif #endif
@ -1155,7 +1158,6 @@ void main()
// Add background behind tube // Add background behind tube
frag_color_linear = HSM_PreMultAlphaBlend(frag_color_linear, tube_bg_layer); frag_color_linear = HSM_PreMultAlphaBlend(frag_color_linear, tube_bg_layer);
// GENERATED BEZEL LAYER // GENERATED BEZEL LAYER
if (HSM_BZL_OPACITY > 0 || HSM_FRM_OPACITY > 0) if (HSM_BZL_OPACITY > 0 || HSM_FRM_OPACITY > 0)
frag_color_linear = BlendModeMaskLayerMix(frag_color_linear, frag_color_linear = BlendModeMaskLayerMix(frag_color_linear,
@ -1186,8 +1188,9 @@ void main()
FragColor = frag_color_linear; 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)) 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; return;
} }

View file

@ -23,6 +23,7 @@
*/ */
#include "common/globals-and-reflection-params.inc" #include "common/globals-and-reflection-params.inc"
#include "common/common-functions.inc"
#include "common/common-functions-bezel.inc" #include "common/common-functions-bezel.inc"
#pragma stage vertex #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 = 3) uniform sampler2D BR_MirrorLowResPass;
layout(set = 0, binding = 4) uniform sampler2D InfoCachePass; layout(set = 0, binding = 4) uniform sampler2D InfoCachePass;
layout(set = 0, binding = 5) uniform sampler2D InfoCachePassFeedback;
float clamp_0_1(float in_value) float clamp_0_1(float in_value)
{ {
@ -60,7 +60,7 @@ void main()
if (HSM_REFLECT_BLUR_NUM_SAMPLES > 0) if (HSM_REFLECT_BLUR_NUM_SAMPLES > 0)
{ {
vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); 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; vec2 tube_curved_coord_ctr = HSM_GetTubeCurvedCoord(TUBE_DIFFUSE_COORD, 1, TUBE_DIFFUSE_SCALE, TUBE_SCALE, TUBE_DIFFUSE_ASPECT, 1) - 0.5;

View file

@ -1,4 +1,5 @@
#version 450 #version 450
#include "common/globals-and-all-params.inc" #include "common/globals-and-all-params.inc"
#include "common/common-functions.inc"
#include "cache-info.inc" #include "cache-info.inc"

View file

@ -3,4 +3,5 @@
#define IS_NO_REFLECT_PRESET #define IS_NO_REFLECT_PRESET
#include "common/globals-and-image-layers-params.inc" #include "common/globals-and-image-layers-params.inc"
#include "common/common-functions.inc"
#include "cache-info.inc" #include "cache-info.inc"

View file

@ -1,4 +1,5 @@
#version 450 #version 450
#include "common/globals-and-screen-scale-params.inc" #include "common/globals-and-screen-scale-params.inc"
#include "common/common-functions.inc"
#include "cache-info.inc" #include "cache-info.inc"

View file

@ -592,7 +592,7 @@ float HSM_GetParameterSum()
+ HSM_AB_COMPARE_FREEZE_GRAPHICS + HSM_AB_COMPARE_FREEZE_GRAPHICS
// // TUBE DIFFUSE // // TUBE DIFFUSE
// + HSM_TUBE_DIFFUSE_OPACITY // + HSM_TUBE_OPACITY
// + HSM_TUBE_DIFFUSE_MODE // + HSM_TUBE_DIFFUSE_MODE
// + HSM_TUBE_DIFFUSE_IMAGE_DUALSCREEN_VIS_MODE // + HSM_TUBE_DIFFUSE_IMAGE_DUALSCREEN_VIS_MODE
// + HSM_TUBE_DIFFUSE_IMAGE_COLORIZE_ON // + 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); sample_2d_range = HSM_GetCacheSampleRange(1, 1);
if (HSM_IsCoordIn2DRange(viewport_coord, sample_2d_range) == 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 // 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) if (HSM_IsCoordIn2DRange(viewport_coord, sample_2d_range) == 1)
{ {
out_color.rg = cropped_rotated_size_with_res_mult; out_color.rg = cropped_rotated_size_with_res_mult;
out_color.ba = HSM_GetRotatedNegativeCropAddedSize();
} }
// Sample 1, 2 // 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) if (HSM_IsCoordIn2DRange(viewport_coord, sample_2d_range) == 1)
{ {
out_color.rg = global.CorePassSize.xy; out_color.rg = global.CorePassSize.xy;
out_color.ba = HSM_GetRotatedCoreOriginalSize();
} }
// Sample 3, 3 // Sample 3, 3
@ -1187,6 +1189,8 @@ vec4 HSM_GetColorForScreenInfoCache(vec2 viewport_coord, sampler2D feedback_pass
out_color.ba = tube_diffuse_scale_2nd_screen; out_color.ba = tube_diffuse_scale_2nd_screen;
} }
// Saple 4, 4 is used for CACHE_INFO_CHANGED
vec2 sample_coord = vec2(0); vec2 sample_coord = vec2(0);
vec4 texture_sample = vec4(0); vec4 texture_sample = vec4(0);

View file

@ -24,6 +24,7 @@
/////////////// IMPORTS /////////////// /////////////// IMPORTS ///////////////
#include "common/globals-and-image-layers-params.inc" #include "common/globals-and-image-layers-params.inc"
#include "common/common-functions.inc"
#include "common/common-functions-bezel.inc" #include "common/common-functions-bezel.inc"
@ -58,7 +59,6 @@ layout(location = 0) out vec4 FragColor;
// Pass Framebuffer Textures // Pass Framebuffer Textures
layout(set = 0, binding = 1) uniform sampler2D InfoCachePass; 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; layout(set = 0, binding = 3) uniform sampler2D BR_LayersUnderCRTPass;
@ -80,7 +80,7 @@ void main()
{ {
UNFLIPPED_VIEWPORT_COORD = vTexCoord; UNFLIPPED_VIEWPORT_COORD = vTexCoord;
vec2 VIEWPORT_COORD = HSM_GetViewportCoordWithZoomAndPan(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 // 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, BEZEL_OUTSIDE_CURVED_COORD,
FRAME_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)); 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) 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; out_color.rgb *= HSM_GLOBAL_GRAPHICS_BRIGHTNESS;
vec4 crt_layer = texture(MiddlePass, vTexCoord); vec4 crt_layer = texture(MiddlePass, vTexCoord);
#ifdef IS_NO_REFLECT_PRESET #ifdef IS_NO_REFLECT_PRESET
crt_layer = HSM_Linearize(crt_layer, DEFAULT_SRGB_GAMMA); crt_layer = HSM_Linearize(crt_layer, DEFAULT_SRGB_GAMMA);
#endif #endif
@ -118,10 +119,9 @@ void main()
float bezel_corner_radius = HSM_BZL_INNER_CORNER_RADIUS_SCALE * HSM_GLOBAL_CORNER_RADIUS; float bezel_corner_radius = HSM_BZL_INNER_CORNER_RADIUS_SCALE * HSM_GLOBAL_CORNER_RADIUS;
if(HSM_BZL_USE_INDEPENDENT_CURVATURE > 0) if(HSM_BZL_USE_INDEPENDENT_CURVATURE > 0)
bezel_corner_radius = HSM_BZL_INNER_CORNER_RADIUS_SCALE * DEFAULT_SCREEN_CORNER_RADIUS; 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) 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); vec4 over_layer = texture(BR_LayersOverCRTPass, vTexCoord);
over_layer.rgb *= HSM_GLOBAL_GRAPHICS_BRIGHTNESS; over_layer.rgb *= HSM_GLOBAL_GRAPHICS_BRIGHTNESS;
@ -131,6 +131,8 @@ void main()
if (HSM_RENDER_SIMPLE_MODE > 0.5) 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_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); 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); 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)) 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; return;
} }

View file

@ -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);
}

View file

@ -138,46 +138,3 @@ bool HSM_GetUseTubeColoredGelImage()
{ {
return HSM_TUBE_COLORED_GEL_IMAGE_ON > 0.5 && HSM_GetUseOnCurrentScreenIndex(HSM_TUBE_COLORED_GEL_IMAGE_DUALSCREEN_VIS_MODE); 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;
}

View file

@ -23,6 +23,7 @@
*/ */
#include "helper-functions.inc" #include "helper-functions.inc"
#include "base-functions.inc"
#ifndef IS_POTATO_PRESET #ifndef IS_POTATO_PRESET
#include "royale-geometry-functions.inc" #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_2 = 4;
float CURVATURE_MODE_3D_CYLINDER = 5; 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 HSM_GetAspectRatioFromMode(float in_aspect_ratio_mode, float in_explicit_aspect)
{ {
float out_explicit_aspect = in_explicit_aspect; float out_explicit_aspect = in_explicit_aspect;
@ -111,25 +85,6 @@ float HSM_GetNegativeCropExpandMultiplier()
return HSM_GetNegativeCropAddedSize().y / HSM_GetDerezedSize().y; 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 HSM_GetSwappedScreenIndex(float screen_index)
{ {
float out_index = screen_index; float out_index = screen_index;
@ -213,40 +168,6 @@ float HSM_GetUseVerticalScanlines(float screen_aspect)
return scanline_direction; 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() vec2 HSM_GetResMult()
{ {
// TODO when using target resolution // TODO when using target resolution
@ -290,16 +211,6 @@ vec4 HSM_GetTexSampleFromSampleStartAndSize(sampler2D in_sampler, vec2 in_screen
return out_color; 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 // 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 // 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 // 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); 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) vec2 HSM_GetScreenVTexCoord(vec2 in_coord, vec2 in_screen_scale, vec2 position_offset)
{ {
return HSM_GetVTexCoordWithArgs(in_coord, in_screen_scale, 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))); float radius = sin(dot(in_coord, vec2(1233.224, 1743.335)));
vec2 radius_vector; 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.x = HSM_rand(radius);
radius_vector.y = 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; 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) bool HSM_GetIsInABCompareArea(vec2 viewport_coord)
{ {
float test_value = HSM_AB_COMPARE_AREA > 1.5 ? viewport_coord.y : viewport_coord.x; 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; 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 CRT Blend Mode is Multiply (2) then the tube must be fully opaque
if (HSM_CRT_BLEND_MODE == 2) if (HSM_CRT_BLEND_MODE == 2)

View file

@ -5,4 +5,3 @@
#include "params-2-reflection.inc" #include "params-2-reflection.inc"
#include "params-4-image-layers.inc" #include "params-4-image-layers.inc"
#include "params-5-intro.inc" #include "params-5-intro.inc"
#include "common-functions.inc"

View file

@ -4,4 +4,3 @@
#include "params-2-bezel.inc" #include "params-2-bezel.inc"
#include "params-4-image-layers.inc" #include "params-4-image-layers.inc"
#include "params-5-intro.inc" #include "params-5-intro.inc"
#include "common-functions.inc"

View file

@ -6,4 +6,3 @@
#include "params-2-reflection.inc" #include "params-2-reflection.inc"
#include "params-3-glass-only.inc" #include "params-3-glass-only.inc"
#include "params-5-intro.inc" #include "params-5-intro.inc"
#include "common-functions.inc"

View file

@ -3,4 +3,3 @@
#include "params-2-bezel.inc" #include "params-2-bezel.inc"
#include "params-4-image-layers.inc" #include "params-4-image-layers.inc"
#include "params-5-intro.inc" #include "params-5-intro.inc"
#include "common-functions.inc"

View file

@ -4,4 +4,3 @@
#include "params-0-screen-scale.inc" #include "params-0-screen-scale.inc"
#include "params-1-potato-only.inc" #include "params-1-potato-only.inc"
#include "params-5-intro.inc" #include "params-5-intro.inc"
#include "common-functions.inc"

View file

@ -3,4 +3,3 @@
#include "params-2-bezel.inc" #include "params-2-bezel.inc"
#include "params-2-reflection.inc" #include "params-2-reflection.inc"
#include "params-5-intro.inc" #include "params-5-intro.inc"
#include "common-functions.inc"

View file

@ -1,4 +1,3 @@
#include "globals.inc" #include "globals.inc"
#include "params-0-screen-scale.inc" #include "params-0-screen-scale.inc"
#include "params-5-intro.inc" #include "params-5-intro.inc"
#include "common-functions.inc"

View file

@ -239,7 +239,7 @@ layout(std140, set = 0, binding = 0) uniform UBO
// TUBE IMAGES // TUBE IMAGES
float HSM_TUBE_DIFFUSE_MODE; float HSM_TUBE_DIFFUSE_MODE;
float HSM_TUBE_DIFFUSE_IMAGE_DUALSCREEN_VIS_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_AMOUNT;
float HSM_TUBE_DIFFUSE_IMAGE_HUE; float HSM_TUBE_DIFFUSE_IMAGE_HUE;
float HSM_TUBE_DIFFUSE_IMAGE_COLORIZE_ON; float HSM_TUBE_DIFFUSE_IMAGE_COLORIZE_ON;
@ -841,15 +841,6 @@ vec2 DEFAULT_BEZEL_SCALE = vec2(0);
int INFOCACHE_MAX_INDEX = 4; 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_INHERIT_ASPECT_SCALE = 0;
float IMAGE_ASPECT_MODE_KEEP_ASPECT = 1; float IMAGE_ASPECT_MODE_KEEP_ASPECT = 1;

View file

@ -23,6 +23,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
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) vec4 HSM_ApplyGamma(vec4 in_color, float in_gamma)
{ {
vec3 out_color = pow(in_color.rgb, vec3(1 / in_gamma)); vec3 out_color = pow(in_color.rgb, vec3(1 / in_gamma));

View file

@ -23,14 +23,14 @@
*/ */
// Screen Scale Required Parameters // 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 #pragma parameter HSM_RESOLUTION_DEBUG_ON " Show Resolution Info" 0 0 1 1
float HSM_RESOLUTION_DEBUG_ON = global.HSM_RESOLUTION_DEBUG_ON; 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 #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 #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 #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 // CROPPING
//--------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------
#pragma parameter HSM_CROPPING_TITLE "[ CROPPING CORE IMAGE ]:" 0 0 0.01 0.01 #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 #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; 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 #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 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 // 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 #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; 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; 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_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 #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 #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 #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 #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_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 #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; 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 #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; 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 #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; 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 // 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 #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 #define HSM_CRT_BLEND_AMOUNT global.HSM_CRT_BLEND_AMOUNT / 100

View file

@ -750,7 +750,7 @@ float HSM_TOP_MIRROR_WRAP = global.HSM_TOP_MIRROR_WRAP;
//--------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------
// RENDER FOR SIMPLIFIED PRESETS // 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 #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; float HSM_RENDER_SIMPLE_MODE = global.HSM_RENDER_SIMPLE_MODE;

View file

@ -25,7 +25,7 @@
*/ */
#include "common/globals-and-screen-scale-params.inc" #include "common/globals-and-screen-scale-params.inc"
#include "common/common-functions.inc"
#pragma stage vertex #pragma stage vertex
layout(location = 0) in vec4 Position; layout(location = 0) in vec4 Position;
layout(location = 1) in vec2 TexCoord; layout(location = 1) in vec2 TexCoord;

View file

@ -3,4 +3,6 @@
#define IS_POTATO_PRESET #define IS_POTATO_PRESET
#include "common/globals-and-screen-scale-params.inc" #include "common/globals-and-screen-scale-params.inc"
#include "common/helper-functions.inc"
#include "common/base-functions.inc"
#include "intro.inc" #include "intro.inc"

View file

@ -24,8 +24,6 @@
// Import so all the mega bezel parameters are the first in the parameter list // Import so all the mega bezel parameters are the first in the parameter list
#include "text-resolution.inc"
#pragma stage vertex #pragma stage vertex
layout(location = 0) in vec4 Position; layout(location = 0) in vec4 Position;
layout(location = 1) in vec2 TexCoord; layout(location = 1) in vec2 TexCoord;
@ -50,7 +48,6 @@ layout(set = 0, binding = 7) uniform sampler2D IntroImage;
#endif #endif
layout(set = 0, binding = 8) uniform sampler2D InfoCachePass; layout(set = 0, binding = 8) uniform sampler2D InfoCachePass;
layout(set = 0, binding = 9) uniform sampler2D InfoCachePassFeedback;
layout(set = 0, binding = 10) uniform sampler2D TextPass; 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; 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.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; 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() void main()
{ {
vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, vTexCoord);
HSM_UpdateGlobalScreenValuesFromCache(InfoCachePass, InfoCachePassFeedback, vTexCoord);
// Flip the coordinate vertically if desired // Flip the coordinate vertically if desired
vec2 viewport_coord_adjusted = vTexCoord; vec2 viewport_coord_adjusted = vTexCoord;
@ -313,7 +320,22 @@ void main()
// FragColor *= 1 - 0.7 * overlay_color.a; // FragColor *= 1 - 0.7 * overlay_color.a;
// FragColor += 1 * 0.7 * overlay_color; // FragColor += 1 * 0.7 * overlay_color;
//////// Draw text to show out_colorolutions ////////// //////// Draw text to show resolutions //////////
if (HSM_RESOLUTION_DEBUG_ON == 1) 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);
}
} }

View file

@ -1,4 +1,6 @@
#version 450 #version 450
#include "common/globals-and-screen-scale-params.inc" #include "common/globals-and-screen-scale-params.inc"
#include "common/helper-functions.inc"
#include "common/base-functions.inc"
#include "intro.inc" #include "intro.inc"

View file

@ -25,6 +25,7 @@
*/ */
#include "common/globals-and-screen-scale-params.inc" #include "common/globals-and-screen-scale-params.inc"
#include "common/helper-functions.inc"
layout(push_constant) uniform Push layout(push_constant) uniform Push
{ {

View file

@ -25,6 +25,7 @@
*/ */
#include "common/globals-and-screen-scale-params.inc" #include "common/globals-and-screen-scale-params.inc"
#include "common/helper-functions.inc"
layout(push_constant) uniform Push layout(push_constant) uniform Push
{ {
@ -34,6 +35,11 @@ layout(push_constant) uniform Push
uint FrameCount; uint FrameCount;
} params; } params;
layout(std140, set = 0, binding = 0) uniform UBO
{
mat4 MVP;
} global;
#pragma stage vertex #pragma stage vertex
layout(location = 0) in vec4 Position; layout(location = 0) in vec4 Position;
layout(location = 1) in vec2 TexCoord; layout(location = 1) in vec2 TexCoord;

View file

@ -1,4 +1,5 @@
#version 450 #version 450
#include "common/globals-and-glass-params.inc" #include "common/globals-and-glass-params.inc"
#include "common/common-functions.inc"
#include "post-crt-prep.inc" #include "post-crt-prep.inc"

View file

@ -1,4 +1,5 @@
#version 450 #version 450
#include "common/globals-and-image-layers-params.inc" #include "common/globals-and-image-layers-params.inc"
#include "common/common-functions.inc"
#include "post-crt-prep.inc" #include "post-crt-prep.inc"

View file

@ -3,4 +3,5 @@
#define IS_NO_REFLECT_PRESET #define IS_NO_REFLECT_PRESET
#include "common/globals-and-image-layers-params.inc" #include "common/globals-and-image-layers-params.inc"
#include "common/common-functions.inc"
#include "post-crt-prep.inc" #include "post-crt-prep.inc"

View file

@ -25,7 +25,7 @@
*/ */
#include "common/globals-and-potato-params.inc" #include "common/globals-and-potato-params.inc"
#include "common/common-functions.inc"
#pragma stage vertex #pragma stage vertex
layout(location = 0) in vec4 Position; 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 = 1) uniform sampler2D Source;
layout(set = 0, binding = 2) uniform sampler2D InfoCachePass; 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 = 7) uniform sampler2D BackgroundImage;
layout(set = 0, binding = 8) uniform sampler2D BackgroundVertImage; 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() void main()
{ {
vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(vTexCoord); 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)); vec4 feedback_color_test = texture(PassFeedback, vec2(0,0));
if (HSM_CACHE_GRAPHICS_ON > 0.5 && feedback_color_test.a < 0 && !CACHE_INFO_CHANGED) 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); 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); 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);
} }

View file

@ -50,7 +50,6 @@ layout(location = 0) out vec4 FragColor;
layout(set = 0, binding = 1) uniform sampler2D Source; layout(set = 0, binding = 1) uniform sampler2D Source;
layout(set = 0, binding = 2) uniform sampler2D InfoCachePass; 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 = 4) uniform sampler2D TubeDiffuseImage;
layout(set = 0, binding = 5) uniform sampler2D TubeShadowImage; 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); 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) 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)) if (HSM_MONOCHROME_MODE > 0.5 && HSM_GetUseOnCurrentScreenIndex(HSM_MONOCHROME_DUALSCREEN_VIS_MODE))
in_color_with_gamma = HSM_ApplyMonochrome(in_color_with_gamma); in_color_with_gamma = HSM_ApplyMonochrome(in_color_with_gamma);
vec4 out_color = HSM_Linearize(in_color_with_gamma, DEFAULT_SRGB_GAMMA); vec4 crt_color = HSM_Linearize(in_color_with_gamma, DEFAULT_SRGB_GAMMA);
out_color *= HSM_POST_CRT_BRIGHTNESS; crt_color *= HSM_POST_CRT_BRIGHTNESS;
vec2 mirrored_screen_coord = HSM_GetMirrorWrappedCoord(screen_curved_coord); 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 // 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); 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; 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; 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)) 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; 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_Delinearize(source_color, HSM_GAMMA_OUT_CRT);
source_color = HSM_Linearize(source_color, DEFAULT_SRGB_GAMMA); 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; 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))) 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 // 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 // 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); 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; 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); 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 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); 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 // AMBIENT LIGHTING IMAGES
vec4 ambient_lighting_image = vec4(1); 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 // 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; 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; float adjusted_tube_diffuse_amount = HSM_TUBE_DIFFUSE_MODE == 0 ? 0 : HSM_TUBE_DIFFUSE_IMAGE_AMOUNT;
if (tube_diffuse_mode == 2) 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 // 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, 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); 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 // Don't apply the CRT images
if (HSM_CRT_BLEND_MODE == 0) 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 // Apply the CRT image additively to the tube diffuse color
if (HSM_CRT_BLEND_MODE == 1) 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 // Apply the CRT image with multiply blending
if (HSM_CRT_BLEND_MODE == 2) 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 #ifndef IS_NO_REFLECT_PRESET
out_color *= black_edge_mask_invert; out_color.rgb *= black_edge_mask_invert;
#else #else
out_color *= tube_diffuse_mask; out_color.rgb *= tube_diffuse_mask;
out_color *= tube_mask;
#endif #endif
@ -355,7 +402,6 @@ vec4 HSM_GetPostCrtPreppedColor(vec4 in_color_with_gamma, vec2 VIEWPORT_COORD, v
return out_color; return out_color;
} }
void main() void main()
{ {
if (HSM_AB_COMPARE_FREEZE_CRT_TUBE == 1 && HSM_GetIsInABCompareArea(vTexCoord)) if (HSM_AB_COMPARE_FREEZE_CRT_TUBE == 1 && HSM_GetIsInABCompareArea(vTexCoord))
@ -367,8 +413,12 @@ void main()
VIEWPORT_UNSCALED_COORD = HSM_GetViewportCoordWithFlip(vTexCoord); VIEWPORT_UNSCALED_COORD = HSM_GetViewportCoordWithFlip(vTexCoord);
vec2 viewportCoordTransformed = HSM_GetViewportCoordWithZoomAndPan(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 // 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 bezel_outside_flat_coord;
vec2 frame_outside_flat_coord; vec2 frame_outside_flat_coord;
@ -378,26 +428,25 @@ void main()
SCREEN_ASPECT, SCREEN_ASPECT,
bezel_outside_flat_coord, bezel_outside_flat_coord,
frame_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)) if (HHLP_IsOutsideCoordSpace(cache_bounds_coord))
{ {
FragColor = vec4(0); FragColor = vec4(0);
return; return;
} }
else
{ // Have to get the scale of the coordinates so we can figure out the size of the onscreen rectangle of the area
// 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,
HSM_GetBezelCoords(TUBE_DIFFUSE_COORD, TUBE_DIFFUSE_SCALE,
TUBE_DIFFUSE_SCALE, TUBE_SCALE,
TUBE_SCALE, SCREEN_ASPECT,
SCREEN_ASPECT, false,
false, BEZEL_OUTSIDE_SCALE,
BEZEL_OUTSIDE_SCALE, BEZEL_OUTSIDE_COORD,
BEZEL_OUTSIDE_COORD, BEZEL_OUTSIDE_CURVED_COORD,
BEZEL_OUTSIDE_CURVED_COORD, FRAME_OUTSIDE_CURVED_COORD);
FRAME_OUTSIDE_CURVED_COORD);
}
vec2 screen_curved_coord = HSM_GetCurvedCoord(SCREEN_COORD, 1, SCREEN_ASPECT); vec2 screen_curved_coord = HSM_GetCurvedCoord(SCREEN_COORD, 1, SCREEN_ASPECT);

View file

@ -1,4 +1,5 @@
#version 450 #version 450
#include "common/globals-and-bezel-params.inc" #include "common/globals-and-bezel-params.inc"
#include "common/common-functions.inc"
#include "post-crt-prep.inc" #include "post-crt-prep.inc"

Some files were not shown because too many files have changed in this diff Show more