diff --git a/hdr/crt-sony-megatron-bang-olufsen-mx8000-hdr.slangp b/hdr/crt-sony-megatron-bang-olufsen-mx8000-hdr.slangp index c8daff03..8e66fa74 100644 --- a/hdr/crt-sony-megatron-bang-olufsen-mx8000-hdr.slangp +++ b/hdr/crt-sony-megatron-bang-olufsen-mx8000-hdr.slangp @@ -1,6 +1,5 @@ -#reference "shaders/crt-sony-megatron.slangp" +#reference "shaders/crt-sony-megatron-hdr.slangp" -hcrt_hdr = "1.000000" hcrt_crt_screen_type = "2.000000" hcrt_red_scanline_min = "0.650000" hcrt_red_scanline_max = "0.900000" diff --git a/hdr/crt-sony-megatron-bang-olufsen-mx8000-sdr.slangp b/hdr/crt-sony-megatron-bang-olufsen-mx8000-sdr.slangp index c77a69d8..42da15ae 100644 --- a/hdr/crt-sony-megatron-bang-olufsen-mx8000-sdr.slangp +++ b/hdr/crt-sony-megatron-bang-olufsen-mx8000-sdr.slangp @@ -1,5 +1,18 @@ -#reference "crt-sony-megatron-bang-olufsen-mx8000-hdr.slangp" +#reference "shaders/crt-sony-megatron-sdr.slangp" -hcrt_hdr = "0.000000" - -hcrt_gamma_in = "-0.200000" \ No newline at end of file +hcrt_crt_screen_type = "2.000000" +hcrt_red_scanline_min = "0.650000" +hcrt_red_scanline_max = "0.900000" +hcrt_red_scanline_attack = "0.500000" +hcrt_green_scanline_min = "0.650000" +hcrt_green_scanline_max = "0.900000" +hcrt_green_scanline_attack = "0.500000" +hcrt_blue_scanline_min = "0.650000" +hcrt_blue_scanline_max = "0.900000" +hcrt_blue_scanline_attack = "0.500000" +hcrt_red_beam_sharpness = "1.600000" +hcrt_red_beam_attack = "1.7500000" +hcrt_green_beam_sharpness = "1.600000" +hcrt_green_beam_attack = "1.750000" +hcrt_blue_beam_sharpness = "1.600000" +hcrt_blue_beam_attack = "1.750000" diff --git a/hdr/crt-sony-megatron-jvc-d-series-AV-36D501-hdr.slangp b/hdr/crt-sony-megatron-jvc-d-series-AV-36D501-hdr.slangp index 7dd15909..ade5c4bc 100644 --- a/hdr/crt-sony-megatron-jvc-d-series-AV-36D501-hdr.slangp +++ b/hdr/crt-sony-megatron-jvc-d-series-AV-36D501-hdr.slangp @@ -1,12 +1,11 @@ -#reference "shaders/crt-sony-megatron.slangp" +#reference "shaders/crt-sony-megatron-hdr.slangp" -hcrt_hdr = "1.000000" hcrt_crt_screen_type = "2.000000" hcrt_paper_white_nits = "700.000000" hcrt_brightness = "0.200000" hcrt_contrast = "0.000000" hcrt_saturation = "0.000000" -hcrt_gamma_in = "-0.3000000" +hcrt_gamma_in = "1.920000" hcrt_expand_gamut = "1.000000" hcrt_red_scanline_min = "0.2000000" hcrt_red_scanline_max = "1.050000" diff --git a/hdr/crt-sony-megatron-jvc-d-series-AV-36D501-sdr.slangp b/hdr/crt-sony-megatron-jvc-d-series-AV-36D501-sdr.slangp index 78058d05..f312fd19 100644 --- a/hdr/crt-sony-megatron-jvc-d-series-AV-36D501-sdr.slangp +++ b/hdr/crt-sony-megatron-jvc-d-series-AV-36D501-sdr.slangp @@ -1,5 +1,24 @@ -#reference "crt-sony-megatron-jvc-d-series-AV-36D501-hdr.slangp" +#reference "shaders/crt-sony-megatron-sdr.slangp" -hcrt_hdr = "0.000000" - -hcrt_gamma_in = "-0.200000" \ No newline at end of file +hcrt_crt_screen_type = "2.000000" +hcrt_paper_white_nits = "700.000000" +hcrt_brightness = "0.200000" +hcrt_contrast = "0.000000" +hcrt_saturation = "0.000000" +hcrt_gamma_in = "1.720000" +hcrt_expand_gamut = "1.000000" +hcrt_red_scanline_min = "0.2000000" +hcrt_red_scanline_max = "1.050000" +hcrt_red_scanline_attack = "0.300000" +hcrt_green_scanline_min = "0.200000" +hcrt_green_scanline_max = "1.050000" +hcrt_green_scanline_attack = "0.300000" +hcrt_blue_scanline_min = "0.200000" +hcrt_blue_scanline_max = "1.050000" +hcrt_blue_scanline_attack = "0.300000" +hcrt_red_beam_sharpness = "1.600000" +hcrt_red_beam_attack = "1.000000" +hcrt_green_beam_sharpness = "1.600000" +hcrt_green_beam_attack = "1.000000" +hcrt_blue_beam_sharpness = "1.600000" +hcrt_blue_beam_attack = "1.000000" diff --git a/hdr/crt-sony-megatron-jvc-professional-TM-H1950CG-hdr.slangp b/hdr/crt-sony-megatron-jvc-professional-TM-H1950CG-hdr.slangp index 67796856..a6317c0e 100644 --- a/hdr/crt-sony-megatron-jvc-professional-TM-H1950CG-hdr.slangp +++ b/hdr/crt-sony-megatron-jvc-professional-TM-H1950CG-hdr.slangp @@ -1,6 +1,5 @@ -#reference "shaders/crt-sony-megatron.slangp" +#reference "shaders/crt-sony-megatron-hdr.slangp" -hcrt_hdr = "1.000000" hcrt_paper_white_nits = "700.000000" hcrt_crt_screen_type = "1.000000" hcrt_crt_resolution = "2.000000" diff --git a/hdr/crt-sony-megatron-jvc-professional-TM-H1950CG-sdr.slangp b/hdr/crt-sony-megatron-jvc-professional-TM-H1950CG-sdr.slangp index d1d39a08..1f6c95b2 100644 --- a/hdr/crt-sony-megatron-jvc-professional-TM-H1950CG-sdr.slangp +++ b/hdr/crt-sony-megatron-jvc-professional-TM-H1950CG-sdr.slangp @@ -1,5 +1,24 @@ -#reference "crt-sony-megatron-jvc-professional-TM-H1950CG-hdr.slangp" +#reference "shaders/crt-sony-megatron-sdr.slangp" -hcrt_hdr = "0.000000" - -hcrt_gamma_in = "-0.200000" \ No newline at end of file +hcrt_paper_white_nits = "700.000000" +hcrt_crt_screen_type = "1.000000" +hcrt_crt_resolution = "2.000000" +hcrt_expand_gamut = "1.000000" +hcrt_red_vertical_convergence = "0.000000" +hcrt_green_vertical_convergence = "0.040000" +hcrt_blue_vertical_convergence = "0.000000" +hcrt_red_scanline_min = "0.200000" +hcrt_red_scanline_max = "0.750000" +hcrt_red_scanline_attack = "1.000000" +hcrt_green_scanline_min = "0.200000" +hcrt_green_scanline_max = "0.750000" +hcrt_green_scanline_attack = "1.000000" +hcrt_blue_scanline_min = "0.200000" +hcrt_blue_scanline_max = "0.750000" +hcrt_blue_scanline_attack = "1.000000" +hcrt_red_beam_sharpness = "1.000000" +hcrt_red_beam_attack = "1.0000000" +hcrt_green_beam_sharpness = "1.000000" +hcrt_green_beam_attack = "1.000000" +hcrt_blue_beam_sharpness = "1.000000" +hcrt_blue_beam_attack = "1.000000" \ No newline at end of file diff --git a/hdr/crt-sony-megatron-sammy-atomiswave-hdr.slangp b/hdr/crt-sony-megatron-sammy-atomiswave-hdr.slangp index 4f1277e4..b6e83683 100644 --- a/hdr/crt-sony-megatron-sammy-atomiswave-hdr.slangp +++ b/hdr/crt-sony-megatron-sammy-atomiswave-hdr.slangp @@ -1,6 +1,5 @@ -#reference "shaders/crt-sony-megatron.slangp" +#reference "shaders/crt-sony-megatron-hdr.slangp" -hcrt_hdr = "1.000000" hcrt_crt_screen_type = "2.000000" hcrt_paper_white_nits = "600.000000" hcrt_contrast = "0.000000" diff --git a/hdr/crt-sony-megatron-sammy-atomiswave-sdr.slangp b/hdr/crt-sony-megatron-sammy-atomiswave-sdr.slangp index c01cae11..e62d9901 100644 --- a/hdr/crt-sony-megatron-sammy-atomiswave-sdr.slangp +++ b/hdr/crt-sony-megatron-sammy-atomiswave-sdr.slangp @@ -1,5 +1,21 @@ -#reference "crt-sony-megatron-sammy-atomiswave-hdr.slangp" +#reference "shaders/crt-sony-megatron-sdr.slangp" -hcrt_hdr = "0.000000" - -hcrt_gamma_in = "-0.200000" \ No newline at end of file +hcrt_crt_screen_type = "2.000000" +hcrt_paper_white_nits = "600.000000" +hcrt_contrast = "0.000000" +hcrt_expand_gamut = "1.000000" +hcrt_red_scanline_min = "0.8900000" +hcrt_red_scanline_max = "1.000000" +hcrt_red_scanline_attack = "0.300000" +hcrt_green_scanline_min = "0.600000" +hcrt_green_scanline_max = "0.800000" +hcrt_green_scanline_attack = "0.300000" +hcrt_blue_scanline_min = "0.600000" +hcrt_blue_scanline_max = "0.800000" +hcrt_blue_scanline_attack = "0.300000" +hcrt_red_beam_sharpness = "1.300000" +hcrt_red_beam_attack = "1.000000" +hcrt_green_beam_sharpness = "1.300000" +hcrt_green_beam_attack = "1.000000" +hcrt_blue_beam_sharpness = "1.300000" +hcrt_blue_beam_attack = "1.000000" \ No newline at end of file diff --git a/hdr/crt-sony-megatron-sega-virtua-fighter-hdr.slangp b/hdr/crt-sony-megatron-sega-virtua-fighter-hdr.slangp index 35cc53e9..5ba8cf8c 100644 --- a/hdr/crt-sony-megatron-sega-virtua-fighter-hdr.slangp +++ b/hdr/crt-sony-megatron-sega-virtua-fighter-hdr.slangp @@ -1,6 +1,5 @@ -#reference "shaders/crt-sony-megatron.slangp" +#reference "shaders/crt-sony-megatron-hdr.slangp" -hcrt_hdr = "1.000000" hcrt_crt_screen_type = "2.000000" hcrt_paper_white_nits = "200.000000" hcrt_expand_gamut = "1.000000" diff --git a/hdr/crt-sony-megatron-sega-virtua-fighter-sdr.slangp b/hdr/crt-sony-megatron-sega-virtua-fighter-sdr.slangp index 348d0684..2185b45a 100644 --- a/hdr/crt-sony-megatron-sega-virtua-fighter-sdr.slangp +++ b/hdr/crt-sony-megatron-sega-virtua-fighter-sdr.slangp @@ -1,5 +1,26 @@ -#reference "crt-sony-megatron-sega-virtua-fighter-hdr.slangp" +#reference "shaders/crt-sony-megatron-sdr.slangp" -hcrt_hdr = "0.000000" - -hcrt_gamma_in = "-0.200000" +hcrt_crt_screen_type = "2.000000" +hcrt_paper_white_nits = "200.000000" +hcrt_expand_gamut = "1.000000" +hcrt_red_vertical_convergence = "0.200000" +hcrt_green_vertical_convergence = "0.200000" +hcrt_blue_vertical_convergence = "-0.230000" +hcrt_red_horizontal_convergence = "0.400000" +hcrt_green_horizontal_convergence = "-0.250000" +hcrt_blue_horizontal_convergence = "-0.100000" +hcrt_red_scanline_min = "1.0000000" +hcrt_red_scanline_max = "2.000000" +hcrt_red_scanline_attack = "1.000000" +hcrt_green_scanline_min = "1.000000" +hcrt_green_scanline_max = "2.000000" +hcrt_green_scanline_attack = "1.000000" +hcrt_blue_scanline_min = "1.000000" +hcrt_blue_scanline_max = "2.000000" +hcrt_blue_scanline_attack = "1.000000" +hcrt_red_beam_sharpness = "1.000000" +hcrt_red_beam_attack = "0.0000000" +hcrt_green_beam_sharpness = "1.000000" +hcrt_green_beam_attack = "0.000000" +hcrt_blue_beam_sharpness = "1.000000" +hcrt_blue_beam_attack = "0.000000" \ No newline at end of file diff --git a/hdr/crt-sony-megatron-sony-pvm-1910-hdr.slangp b/hdr/crt-sony-megatron-sony-pvm-1910-hdr.slangp index 7837ca70..356cf4c4 100644 --- a/hdr/crt-sony-megatron-sony-pvm-1910-hdr.slangp +++ b/hdr/crt-sony-megatron-sony-pvm-1910-hdr.slangp @@ -1,12 +1,11 @@ -#reference "shaders/crt-sony-megatron.slangp" +#reference "shaders/crt-sony-megatron-hdr.slangp" -hcrt_hdr = "1.000000" hcrt_crt_resolution = "0.000000" hcrt_colour_system = "3.000000" hcrt_expand_gamut = "1.000000" hcrt_brightness = "0.150000" hcrt_saturation = "0.100000" -hcrt_gamma_in = "0.250000" +hcrt_gamma_in = "2.470000" hcrt_red_vertical_convergence = "0.000000" hcrt_green_vertical_convergence = "-0.150000" hcrt_blue_vertical_convergence = "0.000000" diff --git a/hdr/crt-sony-megatron-sony-pvm-1910-sdr.slangp b/hdr/crt-sony-megatron-sony-pvm-1910-sdr.slangp index 2e075fbc..84cdbe19 100644 --- a/hdr/crt-sony-megatron-sony-pvm-1910-sdr.slangp +++ b/hdr/crt-sony-megatron-sony-pvm-1910-sdr.slangp @@ -1,5 +1,26 @@ -#reference "crt-sony-megatron-sony-pvm-1910-hdr.slangp" +#reference "shaders/crt-sony-megatron-sdr.slangp" -hcrt_hdr = "0.000000" - -hcrt_gamma_in = "-0.200000" \ No newline at end of file +hcrt_crt_resolution = "0.000000" +hcrt_colour_system = "3.000000" +hcrt_expand_gamut = "1.000000" +hcrt_brightness = "0.150000" +hcrt_saturation = "0.100000" +hcrt_gamma_in = "2.270000" +hcrt_red_vertical_convergence = "0.000000" +hcrt_green_vertical_convergence = "-0.150000" +hcrt_blue_vertical_convergence = "0.000000" +hcrt_red_scanline_min = "0.400000" +hcrt_red_scanline_max = "0.750000" +hcrt_red_scanline_attack = "0.350000" +hcrt_green_scanline_min = "0.400000" +hcrt_green_scanline_max = "1.000000" +hcrt_green_scanline_attack = "0.350000" +hcrt_blue_scanline_min = "0.400000" +hcrt_blue_scanline_max = "0.750000" +hcrt_blue_scanline_attack = "0.350000" +hcrt_red_beam_sharpness = "1.400000" +hcrt_red_beam_attack = "0.7200000" +hcrt_green_beam_sharpness = "1.400000" +hcrt_green_beam_attack = "0.800000" +hcrt_blue_beam_sharpness = "1.400000" +hcrt_blue_beam_attack = "0.450000" \ No newline at end of file diff --git a/hdr/crt-sony-megatron-sony-pvm-20L4-hdr.slangp b/hdr/crt-sony-megatron-sony-pvm-20L4-hdr.slangp index 27140485..2cd6d68b 100644 --- a/hdr/crt-sony-megatron-sony-pvm-20L4-hdr.slangp +++ b/hdr/crt-sony-megatron-sony-pvm-20L4-hdr.slangp @@ -1,6 +1,5 @@ -#reference "shaders/crt-sony-megatron.slangp" +#reference "shaders/crt-sony-megatron-hdr.slangp" -hcrt_hdr = "1.000000" hcrt_brightness = "0.150000" hcrt_colour_system = "3.000000" hcrt_expand_gamut = "1.000000" diff --git a/hdr/crt-sony-megatron-sony-pvm-20L4-sdr.slangp b/hdr/crt-sony-megatron-sony-pvm-20L4-sdr.slangp index 46ad3379..9ef527d7 100644 --- a/hdr/crt-sony-megatron-sony-pvm-20L4-sdr.slangp +++ b/hdr/crt-sony-megatron-sony-pvm-20L4-sdr.slangp @@ -1,5 +1,24 @@ -#reference "crt-sony-megatron-sony-pvm-20L4-hdr.slangp" +#reference "shaders/crt-sony-megatron-sdr.slangp" -hcrt_hdr = "0.000000" - -hcrt_gamma_in = "-0.200000" \ No newline at end of file +hcrt_brightness = "0.150000" +hcrt_colour_system = "3.000000" +hcrt_expand_gamut = "1.000000" +hcrt_crt_resolution = "1.000000" +hcrt_red_vertical_convergence = "0.100000" +hcrt_green_vertical_convergence = "0.000000" +hcrt_blue_vertical_convergence = "0.000000" +hcrt_red_scanline_min = "0.250000" +hcrt_red_scanline_max = "0.400000" +hcrt_red_scanline_attack = "0.150000" +hcrt_green_scanline_min = "0.250000" +hcrt_green_scanline_max = "0.400000" +hcrt_green_scanline_attack = "0.150000" +hcrt_blue_scanline_min = "0.250000" +hcrt_blue_scanline_max = "0.400000" +hcrt_blue_scanline_attack = "0.150000" +hcrt_red_beam_sharpness = "2.000000" +hcrt_red_beam_attack = "1.0000000" +hcrt_green_beam_sharpness = "2.000000" +hcrt_green_beam_attack = "1.000000" +hcrt_blue_beam_sharpness = "2.000000" +hcrt_blue_beam_attack = "1.000000" \ No newline at end of file diff --git a/hdr/crt-sony-megatron-sony-pvm-2730-hdr.slangp b/hdr/crt-sony-megatron-sony-pvm-2730-hdr.slangp index 401565dd..0676f923 100644 --- a/hdr/crt-sony-megatron-sony-pvm-2730-hdr.slangp +++ b/hdr/crt-sony-megatron-sony-pvm-2730-hdr.slangp @@ -1,6 +1,5 @@ -#reference "shaders/crt-sony-megatron.slangp" +#reference "shaders/crt-sony-megatron-hdr.slangp" -hcrt_hdr = "1.000000" hcrt_brightness = "0.150000" hcrt_colour_system = "3.000000" hcrt_expand_gamut = "1.000000" diff --git a/hdr/crt-sony-megatron-sony-pvm-2730-sdr.slangp b/hdr/crt-sony-megatron-sony-pvm-2730-sdr.slangp index b9036dc2..e1d73fc4 100644 --- a/hdr/crt-sony-megatron-sony-pvm-2730-sdr.slangp +++ b/hdr/crt-sony-megatron-sony-pvm-2730-sdr.slangp @@ -1,5 +1,23 @@ -#reference "crt-sony-megatron-sony-pvm-2730-hdr.slangp" +#reference "shaders/crt-sony-megatron-sdr.slangp" -hcrt_hdr = "0.000000" - -hcrt_gamma_in = "-0.200000" \ No newline at end of file +hcrt_brightness = "0.150000" +hcrt_colour_system = "3.000000" +hcrt_expand_gamut = "1.000000" +hcrt_red_vertical_convergence = "-0.140000" +hcrt_green_vertical_convergence = "0.000000" +hcrt_blue_vertical_convergence = "0.000000" +hcrt_red_scanline_min = "0.550000" +hcrt_red_scanline_max = "0.820000" +hcrt_red_scanline_attack = "0.650000" +hcrt_green_scanline_min = "0.550000" +hcrt_green_scanline_max = "0.900000" +hcrt_green_scanline_attack = "0.130000" +hcrt_blue_scanline_min = "0.720000" +hcrt_blue_scanline_max = "1.000000" +hcrt_blue_scanline_attack = "0.650000" +hcrt_red_beam_sharpness = "1.750000" +hcrt_red_beam_attack = "0.7200000" +hcrt_green_beam_sharpness = "1.600000" +hcrt_green_beam_attack = "0.800000" +hcrt_blue_beam_sharpness = "1.900000" +hcrt_blue_beam_attack = "0.450000" diff --git a/hdr/crt-sony-megatron-toshiba-microfilter-hdr.slangp b/hdr/crt-sony-megatron-toshiba-microfilter-hdr.slangp index 95d528b2..ce286a9a 100644 --- a/hdr/crt-sony-megatron-toshiba-microfilter-hdr.slangp +++ b/hdr/crt-sony-megatron-toshiba-microfilter-hdr.slangp @@ -1,4 +1,3 @@ -#reference "shaders/crt-sony-megatron.slangp" +#reference "shaders/crt-sony-megatron-hdr.slangp" -hcrt_hdr = "1.000000" hcrt_crt_screen_type = "1.000000" diff --git a/hdr/crt-sony-megatron-toshiba-microfilter-sdr.slangp b/hdr/crt-sony-megatron-toshiba-microfilter-sdr.slangp index bf0e69b4..3d3a8f52 100644 --- a/hdr/crt-sony-megatron-toshiba-microfilter-sdr.slangp +++ b/hdr/crt-sony-megatron-toshiba-microfilter-sdr.slangp @@ -1,5 +1,3 @@ -#reference "crt-sony-megatron-toshiba-microfilter-hdr.slangp" +#reference "shaders/crt-sony-megatron-sdr.slangp" -hcrt_hdr = "0.000000" - -hcrt_gamma_in = "-0.200000" \ No newline at end of file +hcrt_crt_screen_type = "1.000000" \ No newline at end of file diff --git a/hdr/crt-sony-megatron-viewsonic-A90f+-hdr.slangp b/hdr/crt-sony-megatron-viewsonic-A90f+-hdr.slangp index 2e0f1ad0..dd3ae3a8 100644 --- a/hdr/crt-sony-megatron-viewsonic-A90f+-hdr.slangp +++ b/hdr/crt-sony-megatron-viewsonic-A90f+-hdr.slangp @@ -1,6 +1,5 @@ -#reference "shaders/crt-sony-megatron.slangp" +#reference "shaders/crt-sony-megatron-hdr.slangp" -hcrt_hdr = "1.000000" hcrt_crt_screen_type = "1.000000" hcrt_crt_resolution = "2.000000" hcrt_paper_white_nits = "400.000000" diff --git a/hdr/crt-sony-megatron-viewsonic-A90f+-sdr.slangp b/hdr/crt-sony-megatron-viewsonic-A90f+-sdr.slangp index d53b2077..17fabf2a 100644 --- a/hdr/crt-sony-megatron-viewsonic-A90f+-sdr.slangp +++ b/hdr/crt-sony-megatron-viewsonic-A90f+-sdr.slangp @@ -1,5 +1,20 @@ -#reference "crt-sony-megatron-viewsonic-A90f+-hdr.slangp" +#reference "shaders/crt-sony-megatron-sdr.slangp" -hcrt_hdr = "0.000000" - -hcrt_gamma_in = "-0.200000" \ No newline at end of file +hcrt_crt_screen_type = "1.000000" +hcrt_crt_resolution = "2.000000" +hcrt_paper_white_nits = "400.000000" +hcrt_red_scanline_min = "0.5000000" +hcrt_red_scanline_max = "1.000000" +hcrt_red_scanline_attack = "0.350000" +hcrt_green_scanline_min = "0.550000" +hcrt_green_scanline_max = "1.000000" +hcrt_green_scanline_attack = "0.350000" +hcrt_blue_scanline_min = "0.550000" +hcrt_blue_scanline_max = "1.000000" +hcrt_blue_scanline_attack = "0.350000" +hcrt_red_beam_sharpness = "1.200000" +hcrt_red_beam_attack = "0.5000000" +hcrt_green_beam_sharpness = "1.200000" +hcrt_green_beam_attack = "0.500000" +hcrt_blue_beam_sharpness = "1.200000" +hcrt_blue_beam_attack = "0.500000" diff --git a/hdr/shaders/crt-sony-megatron-hdr.slangp b/hdr/shaders/crt-sony-megatron-hdr.slangp new file mode 100644 index 00000000..791954d3 --- /dev/null +++ b/hdr/shaders/crt-sony-megatron-hdr.slangp @@ -0,0 +1,3 @@ +#reference "crt-sony-megatron.slangp" + +hcrt_hdr = "1.000000" \ No newline at end of file diff --git a/hdr/shaders/crt-sony-megatron-sdr.slangp b/hdr/shaders/crt-sony-megatron-sdr.slangp new file mode 100644 index 00000000..aa63f20b --- /dev/null +++ b/hdr/shaders/crt-sony-megatron-sdr.slangp @@ -0,0 +1,5 @@ +#reference "crt-sony-megatron.slangp" + +hcrt_hdr = "0.000000" + +hcrt_gamma_in = "2.020000" diff --git a/hdr/shaders/crt-sony-megatron.slang b/hdr/shaders/crt-sony-megatron.slang index 6fbf0fef..dac60d31 100644 --- a/hdr/shaders/crt-sony-megatron.slang +++ b/hdr/shaders/crt-sony-megatron.slang @@ -415,14 +415,16 @@ void main() const uint crt_resolution = uint(HCRT_CRT_RESOLUTION); const uint lcd_resolution = uint(HCRT_LCD_RESOLUTION); const uint lcd_subpixel_layout = uint(HCRT_LCD_SUBPIXEL); + const vec2 source_size = global.SourceSize.xy; + const vec2 output_size = global.OutputSize.xy; vec2 tex_coord = vTexCoord - vec2(0.5f); tex_coord = tex_coord * vec2(1.0f + (HCRT_PIN_PHASE * tex_coord.y), 1.0f); tex_coord = tex_coord * vec2(HCRT_H_SIZE, HCRT_V_SIZE); tex_coord = tex_coord + vec2(0.5f); - tex_coord = tex_coord + (vec2(HCRT_H_CENT, HCRT_V_CENT) / global.OutputSize.xy); + tex_coord = tex_coord + (vec2(HCRT_H_CENT, HCRT_V_CENT) / output_size); - const vec2 current_position = vTexCoord * global.OutputSize.xy; + const vec2 current_position = vTexCoord * output_size; uint colour_mask; @@ -471,7 +473,7 @@ void main() } } - const float scanline_size = global.OutputSize.y / global.SourceSize.y; + const float scanline_size = output_size.y / source_size.y; const vec3 horizontal_convergence = vec3(HCRT_RED_HORIZONTAL_CONVERGENCE, HCRT_GREEN_HORIZONTAL_CONVERGENCE, HCRT_BLUE_HORIZONTAL_CONVERGENCE); const vec3 vertical_convergence = vec3(HCRT_RED_VERTICAL_CONVERGENCE, HCRT_GREEN_VERTICAL_CONVERGENCE, HCRT_BLUE_VERTICAL_CONVERGENCE); @@ -491,7 +493,7 @@ void main() const float scanline_channel_0 = GenerateScanline( channel_0, tex_coord, - global.SourceSize.xy, + source_size.xy, scanline_size, horizontal_convergence[channel_0], vertical_convergence[channel_0], @@ -510,7 +512,7 @@ void main() const float scanline_channel_1 = GenerateScanline(channel_1, tex_coord, - global.SourceSize.xy, + source_size.xy, scanline_size, horizontal_convergence[channel_1], vertical_convergence[channel_1], @@ -529,7 +531,7 @@ void main() const float scanline_channel_2 = GenerateScanline(channel_2, tex_coord, - global.SourceSize.xy, + source_size.xy, scanline_size, horizontal_convergence[channel_2], vertical_convergence[channel_2], @@ -542,7 +544,9 @@ void main() scanline_colour += scanline_channel_2 * kColourMask[channel_2]; } - const vec3 hdr10 = GammaCorrect(scanline_colour); + vec3 hdr10; + + GammaCorrect(scanline_colour, hdr10); FragColor = vec4(hdr10, 1.0f); } diff --git a/hdr/shaders/include/colour_grade.h b/hdr/shaders/include/colour_grade.h index 420c8dd8..f40663e0 100644 --- a/hdr/shaders/include/colour_grade.h +++ b/hdr/shaders/include/colour_grade.h @@ -168,7 +168,7 @@ vec3 ColourGrade(const vec3 colour) const vec3 white_point = WhiteBalance(kTemperatures[colour_system] + HCRT_WHITE_TEMPERATURE, colour); - const vec3 linear = pow(white_point, vec3((1.0f / 0.45f) + HCRT_GAMMA_IN)); + const vec3 linear = pow(white_point, vec3(HCRT_GAMMA_IN)); const vec3 xyz = linear * kColourGamut[colour_system]; diff --git a/hdr/shaders/include/gamma_correct.h b/hdr/shaders/include/gamma_correct.h index 57e52ed8..0a1aa336 100644 --- a/hdr/shaders/include/gamma_correct.h +++ b/hdr/shaders/include/gamma_correct.h @@ -12,7 +12,7 @@ const mat3 kXYZ_to_DCIP3 = mat3 ( float LinearTosRGB_1(const float channel) { - return (channel > 0.0031308f) ? (1.055f * pow(channel, (1.0f / 2.4f) + HCRT_GAMMA_OUT)) - 0.055f : channel * 12.92f; + return (channel > 0.0031308f) ? (1.055f * pow(channel, 1.0f / HCRT_GAMMA_OUT)) - 0.055f : channel * 12.92f; } vec3 LinearTosRGB(const vec3 colour) @@ -22,7 +22,7 @@ vec3 LinearTosRGB(const vec3 colour) float LinearTo709_1(const float channel) { - return (channel >= 0.018f) ? pow(channel * 1.099f, 0.45f + HCRT_GAMMA_OUT) - 0.099f : channel * 4.5f; + return (channel >= 0.018f) ? pow(channel * 1.099f, 1.0f / (HCRT_GAMMA_OUT - 0.18f)) - 0.099f : channel * 4.5f; // Gamma: 2.4 - 0.18 = 2.22 } vec3 LinearTo709(const vec3 colour) @@ -32,29 +32,29 @@ vec3 LinearTo709(const vec3 colour) vec3 LinearToDCIP3(const vec3 colour) { - return clamp(pow(colour, vec3((1.0f / 2.6f) + HCRT_GAMMA_OUT)), 0.0f, 1.0f); + return clamp(pow(colour, vec3(1.0f / (HCRT_GAMMA_OUT + 0.2f))), 0.0f, 1.0f); // Gamma: 2.4 + 0.2 = 2.6 } -vec3 GammaCorrect(const vec3 scanline_colour) +void GammaCorrect(const vec3 scanline_colour, inout vec3 gamma_out) { if(HCRT_HDR < 1.0f) { if(HCRT_OUTPUT_COLOUR_SPACE == 0.0f) { - return LinearTo709(scanline_colour); + gamma_out = LinearTo709(scanline_colour); } else if(HCRT_OUTPUT_COLOUR_SPACE == 1.0f) { - return LinearTosRGB(scanline_colour); + gamma_out = LinearTosRGB(scanline_colour); } else { const vec3 dcip3_colour = (scanline_colour * k709_to_XYZ) * kXYZ_to_DCIP3; - return LinearToDCIP3(dcip3_colour); + gamma_out = LinearToDCIP3(dcip3_colour); } } else { - return Hdr10(scanline_colour, HCRT_PAPER_WHITE_NITS, HCRT_EXPAND_GAMUT); + gamma_out = Hdr10(scanline_colour, HCRT_PAPER_WHITE_NITS, HCRT_EXPAND_GAMUT); } } \ No newline at end of file diff --git a/hdr/shaders/include/parameters.h b/hdr/shaders/include/parameters.h index 1a6ea82d..6b2f7995 100644 --- a/hdr/shaders/include/parameters.h +++ b/hdr/shaders/include/parameters.h @@ -24,12 +24,12 @@ #pragma parameter hcrt_crt_screen_type " Screen Type: APERTURE GRILLE | SHADOW MASK | SLOT MASK" 0.0 0.0 3.0 1.0 #pragma parameter hcrt_crt_resolution " Resolution: 300TVL | 600TVL | 800TVL | 1000TVL" 1.0 0.0 3.0 1.0 #pragma parameter hcrt_colour_system " Colour System: r709 | PAL | NTSC-U | NTSC-J" 2.0 0.0 3.0 1.0 -#pragma parameter hcrt_white_temperature " White Temperature Offset (Kelvin)" 0.0 -5000.0 12000.0 100.0 -#pragma parameter hcrt_brightness " Brightness" 0.0 -1.0 1.0 0.01 -#pragma parameter hcrt_contrast " Contrast" 0.0 -1.0 1.0 0.01 -#pragma parameter hcrt_saturation " Saturation" 0.0 -1.0 1.0 0.01 -#pragma parameter hcrt_gamma_in " Gamma In" 0.0 -1.0 1.0 0.01 -#pragma parameter hcrt_gamma_out " Gamma Out" 0.0 -0.4 0.4 0.005 +#pragma parameter hcrt_white_temperature " White Temperature Offset (Kelvin)" 0.0 -5000.0 12000.0 100.0 +#pragma parameter hcrt_brightness " Brightness" 0.0 -1.0 1.0 0.01 +#pragma parameter hcrt_contrast " Contrast" 0.0 -1.0 1.0 0.01 +#pragma parameter hcrt_saturation " Saturation" 0.0 -1.0 1.0 0.01 +#pragma parameter hcrt_gamma_in " Gamma In" 2.22 1.22 3.22 0.01 +#pragma parameter hcrt_gamma_out " Gamma Out" 2.4 2.0 2.8 0.005 #pragma parameter hcrt_pin_phase " Pin Phase" 0.00 -0.2 0.2 0.01 #pragma parameter hcrt_pin_amp " Pin Amp" 0.00 -0.2 0.2 0.01 #pragma parameter hcrt_space3 " " 0.0 0.0 0.0001 0.0001