mirror of
https://github.com/italicsjenga/slang-shaders.git
synced 2024-11-22 15:51:30 +11:00
60 lines
2.5 KiB
Plaintext
60 lines
2.5 KiB
Plaintext
/*
|
|
Sony Megatron Colour Video Monitor
|
|
Author: Major Pain The Cactus
|
|
|
|
A shader that specifically tries to emulate Viewsonic SuperClear monitor's with an shadow mask screen but with full brightness.
|
|
|
|
The novel thing about this shader is that it transforms the image output by the 'console/arcade/computer' into HDR space first i.e brightens it first and then applies
|
|
an shadow mask afterwards which is kind of what a CRT would actually do - its kind of a kin to the electron beam (but nothing like it lol).
|
|
|
|
My DisplayHDR 600 monitor does seem to get reasonably close to the brightness of my PVM - its not quite there but its close. I think DisplayHDR 1000 and above will be able to match.
|
|
|
|
Currently defaults towards a Viewsonic A90f+.
|
|
|
|
To use:
|
|
Please Enable HDR in RetroArch 1.10+
|
|
[UPDATE] This shader supports SDR as well - just enable it in the shader parameters
|
|
|
|
NOTE: when this shader is envoked the Contrast, Peak Luminance and Paper White Luminance in the HDR menu do nothing instead set those values through the shader parameters
|
|
|
|
For this shader set Paper White Luminance to above 700 and Peak Luminance to the peak luminance of your monitor.
|
|
|
|
Also try to use a integer scaling - its just better - overscaling is fine/great.
|
|
|
|
This shader doesn't do any geometry warping or bouncing of light around inside the screen - I think these effects just add unwanted noise, I know people disagree. Please feel free to make you own and add them
|
|
|
|
Works only with the D3D11/D3D12/Vulkan drivers currently
|
|
|
|
THIS SHADER DOES NOT SUPPORT WRGB OLED (Due to the sub pixel layout of WRGB - QD-OLED or LCD (and variants thereof screens are fine) - It will work just wont look right
|
|
*/
|
|
|
|
shaders = "1"
|
|
feedback_pass = "0"
|
|
|
|
shader0 = "shaders/crt-sony-megatron.slang"
|
|
filter_linear0 = "false"
|
|
wrap_mode0 = "clamp_to_border"
|
|
mipmap_input0 = "false"
|
|
alias0 = ""
|
|
float_framebuffer0 = "false"
|
|
srgb_framebuffer0 = "false"
|
|
|
|
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"
|