Merge pull request #234 from MajorPainTheCactus/hdr_4_3

V4.3 Sony PVM 4K HDR Shader
This commit is contained in:
hizzlekizzle 2022-02-28 15:52:36 -06:00 committed by GitHub
commit ad2dd66403
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 232 additions and 225 deletions

View file

@ -34,22 +34,23 @@ mipmap_input0 = "false"
alias0 = "" alias0 = ""
float_framebuffer0 = "false" float_framebuffer0 = "false"
srgb_framebuffer0 = "false" srgb_framebuffer0 = "false"
CRTScreenType = "2.000000"
PaperWhiteNits = "600.000000" hcrt_crt_screen_type = "2.000000"
Contrast = "0.000000" hcrt_paper_white_nits = "600.000000"
ExpandGamut = "1.000000" hcrt_contrast = "0.000000"
RedScanlineMin = "0.8900000" hcrt_expand_gamut = "1.000000"
RedScanlineMax = "1.000000" hcrt_red_scanline_min = "0.8900000"
RedScanlineAttack = "0.300000" hcrt_red_scanline_max = "1.000000"
GreenScanlineMin = "0.600000" hcrt_red_scanline_attack = "0.300000"
GreenScanlineMax = "0.800000" hcrt_green_scanline_min = "0.600000"
GreenScanlineAttack = "0.300000" hcrt_green_scanline_max = "0.800000"
BlueScanlineMin = "0.600000" hcrt_green_scanline_attack = "0.300000"
BlueScanlineMax = "0.800000" hcrt_blue_scanline_min = "0.600000"
BlueScanlineAttack = "0.300000" hcrt_blue_scanline_max = "0.800000"
RedBeamSharpness = "1.300000" hcrt_blue_scanline_attack = "0.300000"
RedBeamAttack = "1.000000" hcrt_red_beam_sharpness = "1.300000"
GreenBeamSharpness = "1.300000" hcrt_red_beam_attack = "1.000000"
GreenBeamAttack = "1.000000" hcrt_green_beam_sharpness = "1.300000"
BlueBeamSharpness = "1.300000" hcrt_green_beam_attack = "1.000000"
BlueBeamAttack = "1.000000" hcrt_blue_beam_sharpness = "1.300000"
hcrt_blue_beam_attack = "1.000000"

View file

@ -34,19 +34,20 @@ mipmap_input0 = "false"
alias0 = "" alias0 = ""
float_framebuffer0 = "false" float_framebuffer0 = "false"
srgb_framebuffer0 = "false" srgb_framebuffer0 = "false"
CRTScreenType = "2.000000"
RedScanlineMin = "0.650000" hcrt_crt_screen_type = "2.000000"
RedScanlineMax = "0.900000" hcrt_red_scanline_min = "0.650000"
RedScanlineAttack = "0.500000" hcrt_red_scanline_max = "0.900000"
GreenScanlineMin = "0.650000" hcrt_red_scanline_attack = "0.500000"
GreenScanlineMax = "0.900000" hcrt_green_scanline_min = "0.650000"
GreenScanlineAttack = "0.500000" hcrt_green_scanline_max = "0.900000"
BlueScanlineMin = "0.650000" hcrt_green_scanline_attack = "0.500000"
BlueScanlineMax = "0.900000" hcrt_blue_scanline_min = "0.650000"
BlueScanlineAttack = "0.500000" hcrt_blue_scanline_max = "0.900000"
RedBeamSharpness = "1.600000" hcrt_blue_scanline_attack = "0.500000"
RedBeamAttack = "1.7500000" hcrt_red_beam_sharpness = "1.600000"
GreenBeamSharpness = "1.600000" hcrt_red_beam_attack = "1.7500000"
GreenBeamAttack = "1.750000" hcrt_green_beam_sharpness = "1.600000"
BlueBeamSharpness = "1.600000" hcrt_green_beam_attack = "1.750000"
BlueBeamAttack = "1.750000" hcrt_blue_beam_sharpness = "1.600000"
hcrt_blue_beam_attack = "1.750000"

View file

@ -34,21 +34,22 @@ mipmap_input0 = "false"
alias0 = "" alias0 = ""
float_framebuffer0 = "false" float_framebuffer0 = "false"
srgb_framebuffer0 = "false" srgb_framebuffer0 = "false"
CRTScreenType = "1.000000"
CRTResolution = "2.000000" hcrt_crt_screen_type = "1.000000"
PaperWhiteNits = "400.000000" hcrt_crt_resolution = "2.000000"
RedScanlineMin = "0.550000" hcrt_paper_white_nits = "400.000000"
RedScanlineMax = "0.800000" hcrt_red_scanline_min = "0.550000"
RedScanlineAttack = "1.000000" hcrt_red_scanline_max = "0.800000"
GreenScanlineMin = "0.550000" hcrt_red_scanline_attack = "1.000000"
GreenScanlineMax = "0.800000" hcrt_green_scanline_min = "0.550000"
GreenScanlineAttack = "1.000000" hcrt_green_scanline_max = "0.800000"
BlueScanlineMin = "0.550000" hcrt_green_scanline_attack = "1.000000"
BlueScanlineMax = "0.800000" hcrt_blue_scanline_min = "0.550000"
BlueScanlineAttack = "1.000000" hcrt_blue_scanline_max = "0.800000"
RedBeamSharpness = "2.000000" hcrt_blue_scanline_attack = "1.000000"
RedBeamAttack = "0.7500000" hcrt_red_beam_sharpness = "2.000000"
GreenBeamSharpness = "2.000000" hcrt_red_beam_attack = "0.7500000"
GreenBeamAttack = "0.750000" hcrt_green_beam_sharpness = "2.000000"
BlueBeamSharpness = "2.000000" hcrt_green_beam_attack = "0.750000"
BlueBeamAttack = "0.750000" hcrt_blue_beam_sharpness = "2.000000"
hcrt_blue_beam_attack = "0.750000"

View file

@ -1,20 +1,21 @@
#reference "crt-sony-pvm-4k-hdr.slangp" #reference "crt-sony-pvm-4k-hdr.slangp"
CRTResolution = "1.000000"
RedVerticalConvergence = "0.250000" hcrt_crt_resolution = "1.000000"
GreenVerticalConvergence = "0.000000" hcrt_red_vertical_convergence = "0.250000"
BlueVerticalConvergence = "0.000000" hcrt_green_vertical_convergence = "0.000000"
RedScanlineMin = "0.250000" hcrt_blue_vertical_convergence = "0.000000"
RedScanlineMax = "0.400000" hcrt_red_scanline_min = "0.250000"
RedScanlineAttack = "0.150000" hcrt_red_scanline_max = "0.400000"
GreenScanlineMin = "0.250000" hcrt_red_scanline_attack = "0.150000"
GreenScanlineMax = "0.400000" hcrt_green_scanline_min = "0.250000"
GreenScanlineAttack = "0.150000" hcrt_green_scanline_max = "0.400000"
BlueScanlineMin = "0.250000" hcrt_green_scanline_attack = "0.150000"
BlueScanlineMax = "0.400000" hcrt_blue_scanline_min = "0.250000"
BlueScanlineAttack = "0.150000" hcrt_blue_scanline_max = "0.400000"
RedBeamSharpness = "2.000000" hcrt_blue_scanline_attack = "0.150000"
RedBeamAttack = "1.0000000" hcrt_red_beam_sharpness = "2.000000"
GreenBeamSharpness = "2.000000" hcrt_red_beam_attack = "1.0000000"
GreenBeamAttack = "1.000000" hcrt_green_beam_sharpness = "2.000000"
BlueBeamSharpness = "2.000000" hcrt_green_beam_attack = "1.000000"
BlueBeamAttack = "1.000000" hcrt_blue_beam_sharpness = "2.000000"
hcrt_blue_beam_attack = "1.000000"

View file

@ -34,22 +34,23 @@ mipmap_input0 = "false"
alias0 = "" alias0 = ""
float_framebuffer0 = "false" float_framebuffer0 = "false"
srgb_framebuffer0 = "false" srgb_framebuffer0 = "false"
RedVerticalConvergence = "-0.200000"
GreenVerticalConvergence = "0.000000" hcrt_red_vertical_convergence = "-0.200000"
BlueVerticalConvergence = "0.000000" hcrt_green_vertical_convergence = "0.000000"
RedScanlineMin = "0.550000" hcrt_blue_vertical_convergence = "0.000000"
RedScanlineMax = "0.820000" hcrt_red_scanline_min = "0.550000"
RedScanlineAttack = "0.650000" hcrt_red_scanline_max = "0.820000"
GreenScanlineMin = "0.550000" hcrt_red_scanline_attack = "0.650000"
GreenScanlineMax = "0.900000" hcrt_green_scanline_min = "0.550000"
GreenScanlineAttack = "0.130000" hcrt_green_scanline_max = "0.900000"
BlueScanlineMin = "0.720000" hcrt_green_scanline_attack = "0.130000"
BlueScanlineMax = "1.000000" hcrt_blue_scanline_min = "0.720000"
BlueScanlineAttack = "0.650000" hcrt_blue_scanline_max = "1.000000"
RedBeamSharpness = "1.750000" hcrt_blue_scanline_attack = "0.650000"
RedBeamAttack = "0.7200000" hcrt_red_beam_sharpness = "1.750000"
GreenBeamSharpness = "1.600000" hcrt_red_beam_attack = "0.7200000"
GreenBeamAttack = "0.800000" hcrt_green_beam_sharpness = "1.600000"
BlueBeamSharpness = "1.900000" hcrt_green_beam_attack = "0.800000"
BlueBeamAttack = "0.450000" hcrt_blue_beam_sharpness = "1.900000"
hcrt_blue_beam_attack = "0.450000"

View file

@ -34,4 +34,5 @@ mipmap_input0 = "false"
alias0 = "" alias0 = ""
float_framebuffer0 = "false" float_framebuffer0 = "false"
srgb_framebuffer0 = "false" srgb_framebuffer0 = "false"
CRTScreenType = "1.000000"
hcrt_crt_screen_type = "1.000000"

View file

@ -34,21 +34,22 @@ mipmap_input0 = "false"
alias0 = "" alias0 = ""
float_framebuffer0 = "false" float_framebuffer0 = "false"
srgb_framebuffer0 = "false" srgb_framebuffer0 = "false"
CRTScreenType = "1.000000"
CRTResolution = "2.000000" hcrt_crt_screen_type = "1.000000"
PaperWhiteNits = "400.000000" hcrt_crt_resolution = "2.000000"
RedScanlineMin = "0.5000000" hcrt_paper_white_nits = "400.000000"
RedScanlineMax = "1.000000" hcrt_red_scanline_min = "0.5000000"
RedScanlineAttack = "0.350000" hcrt_red_scanline_max = "1.000000"
GreenScanlineMin = "0.550000" hcrt_red_scanline_attack = "0.350000"
GreenScanlineMax = "1.000000" hcrt_green_scanline_min = "0.550000"
GreenScanlineAttack = "0.350000" hcrt_green_scanline_max = "1.000000"
BlueScanlineMin = "0.550000" hcrt_green_scanline_attack = "0.350000"
BlueScanlineMax = "1.000000" hcrt_blue_scanline_min = "0.550000"
BlueScanlineAttack = "0.350000" hcrt_blue_scanline_max = "1.000000"
RedBeamSharpness = "1.200000" hcrt_blue_scanline_attack = "0.350000"
RedBeamAttack = "0.5000000" hcrt_red_beam_sharpness = "1.200000"
GreenBeamSharpness = "1.200000" hcrt_red_beam_attack = "0.5000000"
GreenBeamAttack = "0.500000" hcrt_green_beam_sharpness = "1.200000"
BlueBeamSharpness = "1.200000" hcrt_green_beam_attack = "0.500000"
BlueBeamAttack = "0.500000" hcrt_blue_beam_sharpness = "1.200000"
hcrt_blue_beam_attack = "0.500000"

View file

@ -36,142 +36,142 @@ THIS SHADER DOES NOT SUPPORT WRGB OLED (Due to the sub pixel layout of WRGB - RG
layout(push_constant) uniform Push layout(push_constant) uniform Push
{ {
// User Settings // User Settings
float HDR; float hcrt_hdr;
float MaxNits; float hcrt_max_nits;
float PaperWhiteNits; float hcrt_paper_white_nits;
float LCDResolution; float hcrt_lcd_resolution;
float LCDSubpixel; float hcrt_lcd_subpixel;
float Brightness; float hcrt_brightness;
float Contrast; float hcrt_contrast;
float ExpandGamut; float hcrt_expand_gamut;
float RedVerticalConvergence; float hcrt_red_vertical_convergence;
float GreenVerticalConvergence; float hcrt_green_vertical_convergence;
float BlueVerticalConvergence; float hcrt_blue_vertical_convergence;
float RedHorizontalConvergence; float hcrt_red_horizontal_convergence;
float GreenHorizontalConvergence; float hcrt_green_horizontal_convergence;
float BlueHorizontalConvergence; float hcrt_blue_horizontal_convergence;
// Developer Settings // Developer Settings
float CRTScreenType; float hcrt_crt_screen_type;
float CRTResolution; float hcrt_crt_resolution;
// Vertical Settings // Vertical Settings
float RedScanlineMin; float hcrt_red_scanline_min;
float RedScanlineMax; float hcrt_red_scanline_max;
float RedScanlineAttack; float hcrt_red_scanline_attack;
float GreenScanlineMin; float hcrt_green_scanline_min;
float GreenScanlineMax; float hcrt_green_scanline_max;
float GreenScanlineAttack; float hcrt_green_scanline_attack;
float BlueScanlineMin; float hcrt_blue_scanline_min;
float BlueScanlineMax; float hcrt_blue_scanline_max;
float BlueScanlineAttack; float hcrt_blue_scanline_attack;
// Horizontal Settings // Horizontal Settings
float RedBeamSharpness; float hcrt_red_beam_sharpness;
float RedBeamAttack; float hcrt_red_beam_attack;
float GreenBeamSharpness; float hcrt_green_beam_sharpness;
float GreenBeamAttack; float hcrt_green_beam_attack;
float BlueBeamSharpness; float hcrt_blue_beam_sharpness;
float BlueBeamAttack; float hcrt_blue_beam_attack;
#if WHITE_BALANCE_CONTROL #if WHITE_BALANCE_CONTROL
float WhiteTemperature; float hcrt_white_temperature;
float WhiteTint; float hcrt_white_tint;
#endif // WHITE_BALANCE_CONTROL #endif // WHITE_BALANCE_CONTROL
} params; } params;
#pragma parameter Title "SONY PVM/BVM HDR SHADER" 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_title "SONY PVM/BVM HDR SHADER" 0.0 0.0 0.0001 0.0
#pragma parameter Space0 " " 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_space0 " " 0.0 0.0 0.0001 0.0
#pragma parameter Support0 "SUPPORTED: RGB/BGR LCD, QD-OLED Displays" 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_support0 "SUPPORTED: RGB/BGR LCD, QD-OLED Displays" 0.0 0.0 0.0001 0.0
#pragma parameter Support1 "NOT SUPPORTED: WRGB OLED Displays" 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_support1 "NOT SUPPORTED: WRGB OLED Displays" 0.0 0.0 0.0001 0.0
#pragma parameter Support2 "MIN SPEC: DisplayHDR 600, 4K, RetroArch v1.10" 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_support2 "MIN SPEC: DisplayHDR 600, 4K, RetroArch v1.10" 0.0 0.0 0.0001 0.0
#pragma parameter Support3 "REC SPEC: DisplayHDR 1000, 4K+, RetroArch v1.10" 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_support3 "REC SPEC: DisplayHDR 1000, 4K+, RetroArch v1.10" 0.0 0.0 0.0001 0.0
#pragma parameter Space1 " " 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_space1 " " 0.0 0.0 0.0001 0.0
#pragma parameter Instructions0 "HDR: Enable HDR: On" 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_instructions0 "HDR: Enable HDR: On" 0.0 0.0 0.0001 0.0
#pragma parameter Instructions1 "SCALING: Integer Scale: ON" 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_instructions1 "SCALING: Integer Scale: ON" 0.0 0.0 0.0001 0.0
#pragma parameter Instructions2 "SCALING: Integer Overscale: ON" 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_instructions2 "SCALING: Integer Overscale: ON" 0.0 0.0 0.0001 0.0
#pragma parameter Instructions3 "SCALING: Apect Ratio: Core Provided" 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_instructions3 "SCALING: Apect Ratio: Core Provided" 0.0 0.0 0.0001 0.0
#pragma parameter Space2 " " 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_space2 " " 0.0 0.0 0.0001 0.0
#pragma parameter UserSettings "USER SETTINGS:" 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_user_settings "USER SETTINGS:" 0.0 0.0 0.0001 0.0
#pragma parameter HDR " SDR | HDR" 1.0 0.0 1.0 1.0 #pragma parameter hcrt_hdr " SDR | HDR" 1.0 0.0 1.0 1.0
#pragma parameter MaxNits " Display's Peak Luminance" 700.0 0.0 10000.0 10.0 #pragma parameter hcrt_max_nits " Display's Peak Luminance" 700.0 0.0 10000.0 10.0
#pragma parameter PaperWhiteNits " Display's Paper White Luminance" 700.0 0.0 10000.0 10.0 #pragma parameter hcrt_paper_white_nits " Display's Paper White Luminance" 700.0 0.0 10000.0 10.0
#pragma parameter LCDResolution " Display's Resolution: 4K | 8K" 0.0 0.0 1.0 1.0 #pragma parameter hcrt_lcd_resolution " Display's Resolution: 4K | 8K" 0.0 0.0 1.0 1.0
#pragma parameter LCDSubpixel " Display's Subpixel Layout: RGB | BGR" 0.0 0.0 1.0 1.0 #pragma parameter hcrt_lcd_subpixel " Display's Subpixel Layout: RGB | BGR" 0.0 0.0 1.0 1.0
#pragma parameter Brightness " Brightness" 1.0 0.0 2.0 0.01 #pragma parameter hcrt_brightness " Brightness" 1.0 0.0 2.0 0.01
#pragma parameter Contrast " Contrast" -0.3 -3.0 3.0 0.05 #pragma parameter hcrt_contrast " Contrast" -0.3 -3.0 3.0 0.05
#pragma parameter ExpandGamut " Original/Vivid" 0.0 0.0 1.0 1.0 #pragma parameter hcrt_expand_gamut " Original/Vivid" 0.0 0.0 1.0 1.0
#pragma parameter RedVerticalConvergence " Red Vertical Convergence" 0.00 -10.0 10.0 0.01 #pragma parameter hcrt_red_vertical_convergence " Red Vertical Convergence" 0.00 -10.0 10.0 0.01
#pragma parameter GreenVerticalConvergence " Green Vertical Convergence" 0.00 -10.0 10.0 0.01 #pragma parameter hcrt_green_vertical_convergence " Green Vertical Convergence" 0.00 -10.0 10.0 0.01
#pragma parameter BlueVerticalConvergence " Blue Vertical Convergence" 0.00 -10.0 10.0 0.01 #pragma parameter hcrt_blue_vertical_convergence " Blue Vertical Convergence" 0.00 -10.0 10.0 0.01
#pragma parameter RedHorizontalConvergence " Red Horizontal Convergence" 0.00 -10.0 10.0 0.01 #pragma parameter hcrt_red_horizontal_convergence " Red Horizontal Convergence" 0.00 -10.0 10.0 0.01
#pragma parameter GreenHorizontalConvergence " Green Horizontal Convergence" 0.00 -10.0 10.0 0.01 #pragma parameter hcrt_green_horizontal_convergence " Green Horizontal Convergence" 0.00 -10.0 10.0 0.01
#pragma parameter BlueHorizontalConvergence " Blue Horizontal Convergence" 0.00 -10.0 10.0 0.01 #pragma parameter hcrt_blue_horizontal_convergence " Blue Horizontal Convergence" 0.00 -10.0 10.0 0.01
#pragma parameter Space3 " " 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_space3 " " 0.0 0.0 0.0001 0.0
#pragma parameter DeveloperSettings "DEVELOPER SETTINGS:" 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_developer_settings "DEVELOPER SETTINGS:" 0.0 0.0 0.0001 0.0
#pragma parameter CRTScreenType " CRT Type: APERTURE GRILLE | SHADOW MASK | SLOT MASK" 0.0 0.0 2.0 1.0 #pragma parameter hcrt_crt_screen_type " CRT Type: APERTURE GRILLE | SHADOW MASK | SLOT MASK" 0.0 0.0 2.0 1.0
#pragma parameter CRTResolution " CRT Resolution: 600TVL | 800TVL | 1000TVL" 0.0 0.0 2.0 1.0 #pragma parameter hcrt_crt_resolution " CRT Resolution: 600TVL | 800TVL | 1000TVL" 0.0 0.0 2.0 1.0
#pragma parameter DeveloperSettings0 " VERTICAL SETTINGS:" 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_developer_settings0 " VERTICAL SETTINGS:" 0.0 0.0 0.0001 0.0
#pragma parameter RedScanlineMin " Red Scanline Min" 0.50 0.0 2.0 0.01 #pragma parameter hcrt_red_scanline_min " Red Scanline Min" 0.50 0.0 2.0 0.01
#pragma parameter RedScanlineMax " Red Scanline Max" 1.00 0.0 2.0 0.01 #pragma parameter hcrt_red_scanline_max " Red Scanline Max" 1.00 0.0 2.0 0.01
#pragma parameter RedScanlineAttack " Red Scanline Attack" 0.20 0.0 1.0 0.01 #pragma parameter hcrt_red_scanline_attack " Red Scanline Attack" 0.20 0.0 1.0 0.01
#pragma parameter GreenScanlineMin " Green Scanline Min" 0.50 0.0 2.0 0.01 #pragma parameter hcrt_green_scanline_min " Green Scanline Min" 0.50 0.0 2.0 0.01
#pragma parameter GreenScanlineMax " Green Scanline Max" 1.00 0.0 2.0 0.01 #pragma parameter hcrt_green_scanline_max " Green Scanline Max" 1.00 0.0 2.0 0.01
#pragma parameter GreenScanlineAttack " Green Scanline Attack" 0.20 0.0 1.0 0.01 #pragma parameter hcrt_green_scanline_attack " Green Scanline Attack" 0.20 0.0 1.0 0.01
#pragma parameter BlueScanlineMin " Blue Scanline Min" 0.50 0.0 2.0 0.01 #pragma parameter hcrt_blue_scanline_min " Blue Scanline Min" 0.50 0.0 2.0 0.01
#pragma parameter BlueScanlineMax " Blue Scanline Max" 1.00 0.0 2.0 0.01 #pragma parameter hcrt_blue_scanline_max " Blue Scanline Max" 1.00 0.0 2.0 0.01
#pragma parameter BlueScanlineAttack " Blue Scanline Attack" 0.20 0.0 1.0 0.01 #pragma parameter hcrt_blue_scanline_attack " Blue Scanline Attack" 0.20 0.0 1.0 0.01
#pragma parameter DeveloperSettings1 " HORIZONTAL SETTINGS:" 0.0 0.0 0.0001 0.0 #pragma parameter hcrt_developer_settings1 " HORIZONTAL SETTINGS:" 0.0 0.0 0.0001 0.0
#pragma parameter RedBeamSharpness " Red Beam Sharpness" 1.75 0.0 5.0 0.05 #pragma parameter hcrt_red_beam_sharpness " Red Beam Sharpness" 1.75 0.0 5.0 0.05
#pragma parameter RedBeamAttack " Red Beam Attack" 0.50 0.0 2.0 0.01 #pragma parameter hcrt_red_beam_attack " Red Beam Attack" 0.50 0.0 2.0 0.01
#pragma parameter GreenBeamSharpness " Green Beam Sharpness" 1.75 0.0 5.0 0.05 #pragma parameter hcrt_green_beam_sharpness " Green Beam Sharpness" 1.75 0.0 5.0 0.05
#pragma parameter GreenBeamAttack " Green Beam Attack" 0.50 0.0 2.0 0.01 #pragma parameter hcrt_green_beam_attack " Green Beam Attack" 0.50 0.0 2.0 0.01
#pragma parameter BlueBeamSharpness " Blue Beam Sharpness" 1.75 0.0 5.0 0.05 #pragma parameter hcrt_blue_beam_sharpness " Blue Beam Sharpness" 1.75 0.0 5.0 0.05
#pragma parameter BlueBeamAttack " Blue Beam Attack" 0.50 0.0 2.0 0.01 #pragma parameter hcrt_blue_beam_attack " Blue Beam Attack" 0.50 0.0 2.0 0.01
#if WHITE_BALANCE_CONTROL #if WHITE_BALANCE_CONTROL
//#pragma parameter WhiteTemperature "White Temperature" 6500.0 0.0 13000.0 50.0 //#pragma parameter hcrt_whitetemperature "White Temperature" 6500.0 0.0 13000.0 50.0
//#pragma parameter WhiteTint "White Tint" 0.0 -1.0 1.0 0.01 //#pragma parameter hcrt_whitetint "White Tint" 0.0 -1.0 1.0 0.01
#endif // WHITE_BALANCE_CONTROL #endif // WHITE_BALANCE_CONTROL
#define HCRT_HDR params.HDR #define HCRT_HDR params.hcrt_hdr
#define HCRT_MAX_NITS params.MaxNits #define HCRT_MAX_NITS params.hcrt_max_nits
#define HCRT_PAPER_WHITE_NITS params.PaperWhiteNits #define HCRT_PAPER_WHITE_NITS params.hcrt_paper_white_nits
#define HCRT_LCD_RESOLUTION params.LCDResolution #define HCRT_LCD_RESOLUTION params.hcrt_lcd_resolution
#define HCRT_LCD_SUBPIXEL params.LCDSubpixel #define HCRT_LCD_SUBPIXEL params.hcrt_lcd_subpixel
#define HCRT_BRIGHTNESS params.Brightness #define HCRT_BRIGHTNESS params.hcrt_brightness
#define HCRT_CONTRAST params.Contrast #define HCRT_CONTRAST params.hcrt_contrast
#define HCRT_EXPAND_GAMUT params.ExpandGamut #define HCRT_EXPAND_GAMUT params.hcrt_expand_gamut
#define HCRT_RED_VERTICAL_CONVERGENCE params.RedVerticalConvergence #define HCRT_RED_VERTICAL_CONVERGENCE params.hcrt_red_vertical_convergence
#define HCRT_GREEN_VERTICAL_CONVERGENCE params.GreenVerticalConvergence #define HCRT_GREEN_VERTICAL_CONVERGENCE params.hcrt_green_vertical_convergence
#define HCRT_BLUE_VERTICAL_CONVERGENCE params.BlueVerticalConvergence #define HCRT_BLUE_VERTICAL_CONVERGENCE params.hcrt_blue_vertical_convergence
#define HCRT_RED_HORIZONTAL_CONVERGENCE params.RedHorizontalConvergence #define HCRT_RED_HORIZONTAL_CONVERGENCE params.hcrt_red_horizontal_convergence
#define HCRT_GREEN_HORIZONTAL_CONVERGENCE params.GreenHorizontalConvergence #define HCRT_GREEN_HORIZONTAL_CONVERGENCE params.hcrt_green_horizontal_convergence
#define HCRT_BLUE_HORIZONTAL_CONVERGENCE params.BlueHorizontalConvergence #define HCRT_BLUE_HORIZONTAL_CONVERGENCE params.hcrt_blue_horizontal_convergence
#define HCRT_CRT_SCREEN_TYPE params.CRTScreenType #define HCRT_CRT_SCREEN_TYPE params.hcrt_crt_screen_type
#define HCRT_CRT_RESOLUTION params.CRTResolution #define HCRT_CRT_RESOLUTION params.hcrt_crt_resolution
#define HCRT_RED_SCANLINE_MIN params.RedScanlineMin #define HCRT_RED_SCANLINE_MIN params.hcrt_red_scanline_min
#define HCRT_RED_SCANLINE_MAX params.RedScanlineMax #define HCRT_RED_SCANLINE_MAX params.hcrt_red_scanline_max
#define HCRT_RED_SCANLINE_ATTACK params.RedScanlineAttack #define HCRT_RED_SCANLINE_ATTACK params.hcrt_red_scanline_attack
#define HCRT_GREEN_SCANLINE_MIN params.GreenScanlineMin #define HCRT_GREEN_SCANLINE_MIN params.hcrt_green_scanline_min
#define HCRT_GREEN_SCANLINE_MAX params.GreenScanlineMax #define HCRT_GREEN_SCANLINE_MAX params.hcrt_green_scanline_max
#define HCRT_GREEN_SCANLINE_ATTACK params.GreenScanlineAttack #define HCRT_GREEN_SCANLINE_ATTACK params.hcrt_green_scanline_attack
#define HCRT_BLUE_SCANLINE_MIN params.BlueScanlineMin #define HCRT_BLUE_SCANLINE_MIN params.hcrt_blue_scanline_min
#define HCRT_BLUE_SCANLINE_MAX params.BlueScanlineMax #define HCRT_BLUE_SCANLINE_MAX params.hcrt_blue_scanline_max
#define HCRT_BLUE_SCANLINE_ATTACK params.BlueScanlineAttack #define HCRT_BLUE_SCANLINE_ATTACK params.hcrt_blue_scanline_attack
#define HCRT_RED_BEAM_SHARPNESS params.RedBeamSharpness #define HCRT_RED_BEAM_SHARPNESS params.hcrt_red_beam_sharpness
#define HCRT_RED_BEAM_ATTACK params.RedBeamAttack #define HCRT_RED_BEAM_ATTACK params.hcrt_red_beam_attack
#define HCRT_GREEN_BEAM_SHARPNESS params.GreenBeamSharpness #define HCRT_GREEN_BEAM_SHARPNESS params.hcrt_green_beam_sharpness
#define HCRT_GREEN_BEAM_ATTACK params.GreenBeamAttack #define HCRT_GREEN_BEAM_ATTACK params.hcrt_green_beam_attack
#define HCRT_BLUE_BEAM_SHARPNESS params.BlueBeamSharpness #define HCRT_BLUE_BEAM_SHARPNESS params.hcrt_blue_beam_sharpness
#define HCRT_BLUE_BEAM_ATTACK params.BlueBeamAttack #define HCRT_BLUE_BEAM_ATTACK params.hcrt_blue_beam_attack
#define COMPAT_TEXTURE(c, d) texture(c, d) #define COMPAT_TEXTURE(c, d) texture(c, d)
@ -426,8 +426,6 @@ vec3 Hdr10Conditional(const vec3 scanline_colour)
void main() void main()
{ {
const vec2 current_position = vTexCoord * global.OutputSize.xy;
vec3 scanline_colour = GenerateScanline(global.SourceSize.xy); vec3 scanline_colour = GenerateScanline(global.SourceSize.xy);
uint screen_type = uint(HCRT_CRT_SCREEN_TYPE); uint screen_type = uint(HCRT_CRT_SCREEN_TYPE);
@ -435,6 +433,8 @@ void main()
uint lcd_resolution = uint(HCRT_LCD_RESOLUTION); uint lcd_resolution = uint(HCRT_LCD_RESOLUTION);
uint lcd_subpixel_layout = uint(HCRT_LCD_SUBPIXEL); uint lcd_subpixel_layout = uint(HCRT_LCD_SUBPIXEL);
const vec2 current_position = vTexCoord * global.OutputSize.xy;
switch(screen_type) switch(screen_type)
{ {
case kApertureGrille: case kApertureGrille: