mirror of
https://github.com/italicsjenga/slang-shaders.git
synced 2024-11-23 00:01:31 +11:00
Koko-aio: update to 4.1
This commit is contained in:
parent
29e7cdab41
commit
b9aed4a2cd
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -188,9 +188,9 @@ scale_type_y16 = "viewport"
|
|||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
SATURATION = "1.050000"
|
||||
DO_FXAA = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
|
@ -211,27 +211,26 @@ VMASK_USE_GM = "1.000000"
|
|||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.800000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.011000"
|
||||
BEZEL_INNER_ZOOM = "-0.018000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "5.000000"
|
||||
AMBI_OVER_BEZEL = "0.200000"
|
||||
DO_DYNZOOM = "0.000000"
|
||||
V_SIZE = "2.700000"
|
||||
V_POWER = "1.050000"
|
||||
S_POSITION = "194.000000"
|
||||
|
|
64
bezel/koko-aio/README.md
Normal file
64
bezel/koko-aio/README.md
Normal file
|
@ -0,0 +1,64 @@
|
|||
# Koko-aio
|
||||
|
||||
Koko-aio shader is meant to be an all-in one crt shader.<br>
|
||||
It can be configured with many parameters, so that can be
|
||||
scaled to run on even on modest gpus while still developed to
|
||||
run with heavier presets on at least Haswell+ iGpus.<br>
|
||||
On that gpu, as in version 3.5, it reaches about 85fps with all features enabled<br>
|
||||
When dealing with lowres content on 1920x1080 resolution.<br>
|
||||
While it is not meant to simulate the internal behaviour of CRT displays,<br>
|
||||
it aims to give users "visual" parameters to make their monitors look similar.<br>
|
||||
Several presets are included.<br>
|
||||
|
||||
***Additional documentation:***
|
||||
* [See here](docs.md)
|
||||
|
||||
***Additional artwork:***
|
||||
* https://github.com/kokoko3k/koko-aio-slang-presets-and-overlays
|
||||
|
||||
***Actually, it provides emulation for:***
|
||||
* Scanlines
|
||||
* Screenlines
|
||||
* RGB phosphors
|
||||
* RGB deconvergence
|
||||
* NTSC/PAL CVBS color bleeding
|
||||
* NTSC color artifacting (early stage)
|
||||
* Aperture grille and slot mask.
|
||||
* Input signal glowing
|
||||
* Output signal glowing
|
||||
* Blooming
|
||||
* Gamma, contrast, saturation, luminance, color temperature adjustments
|
||||
* Black frame insertions through alternate blanking
|
||||
* Interlace flickering, forcing and emulation
|
||||
* Antialiasing
|
||||
* Curvature
|
||||
* Ambient lights
|
||||
* Vignette and Spotlight
|
||||
* Bezel (Thank you HyperspaceMadness for allowing me to rip his automagically generated bezel!)
|
||||
https://github.com/HyperspaceMadness/
|
||||
* Background images
|
||||
* Full screen glowing
|
||||
|
||||
***External code by:***
|
||||
* Nvidia (FXAA)
|
||||
* EasyMode (curvature related code)
|
||||
|
||||
# Examples
|
||||
|
||||
***monitor-slotmask-bloom-bezelwider - Arcade - Final fight***
|
||||
![alt text](https://github.com/kokoko3k/koko-aio-slang/blob/main/screenshots/screenshots.3.5/monitor-slotmask-bloom-bezelwider.mame.ffight.png?raw=true)
|
||||
|
||||
***monitor-Commodore_1084S-wider - Amiga - ProjectX SE***
|
||||
![alt text](https://github.com/kokoko3k/koko-aio-slang/blob/main/screenshots/screenshots.3.5/monitor-Commodore_1084S-wider.puae.projectx.png?raw=true)
|
||||
|
||||
***tv-PAL-my-old - Master System - Trans Bot***
|
||||
![alt text](https://github.com/kokoko3k/koko-aio-slang/blob/main/screenshots/screenshots.3.5/tv-PAL-my-old,mastersystem.transbot.png?raw=true)
|
||||
|
||||
***tv-NTSC-1 - Genesis - Sonic 2***
|
||||
![alt text](https://github.com/kokoko3k/koko-aio-slang/blob/main/screenshots/screenshots.3.5/tv-NTSC-1.md.sonic2.png?raw=true)
|
||||
|
||||
***tv-NTSC-2 - Snes - Aladdin***
|
||||
![alt text](https://github.com/kokoko3k/koko-aio-slang/blob/main/screenshots/screenshots.3.5/tv-NTSC-2.snes.aladdin.png?raw=true)
|
||||
|
||||
***tv-aperturegrille-bloom-bezel - Amiga - Leander***
|
||||
![alt text](https://github.com/kokoko3k/koko-aio-slang/blob/main/screenshots/screenshots.3.5/tv-aperturegrille-bloom-bezel.puae.leander.png?raw=true)
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -205,21 +205,21 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_MAX = "0.800000"
|
||||
SCANLINE_MINMAX_GAMMA = "0.700000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.400000"
|
||||
HALO_W = "3.000001"
|
||||
HALO_H = "3.000001"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "1.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_MAX = "0.800000"
|
||||
SCANLINE_MINMAX_GAMMA = "0.700000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SIZE = "0.010000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.215000"
|
||||
|
|
|
@ -1,40 +1,48 @@
|
|||
**koko-aio-slang parameters documentation**
|
||||
|
||||
**Color corrections:**
|
||||
Modify luminance, saturation, contrast, brightness and color temperature of the
|
||||
signal, at "input" stage.
|
||||
Gamma correction is applied to the final processed picture.
|
||||
**Color corrections:**<br>
|
||||
Modify luminance, saturation, contrast, brightness and color temperature
|
||||
of the signal, at "input" stage.<br>
|
||||
Gamma correction is applied to the final processed picture.<br>
|
||||
It is also possible to emulate a monochrome display with custom colors:
|
||||
|
||||
**FXAA:**
|
||||
Apply the well known antialiasing effect by Nvidia.
|
||||
Use it if you don't want to blur the image and you still don't like
|
||||
jagged or too much pixelated images.
|
||||
Monochrome screen colorization:
|
||||
The amount of (de) colorization applied.
|
||||
Hue bright, Hue dark:
|
||||
Set the hue for bright and dark colors.
|
||||
Hue bright-dark bias:
|
||||
Controls the distribution of dark and bright hues.
|
||||
|
||||
**FXAA:**<br>
|
||||
Apply the well known antialiasing effect by Nvidia.<br>
|
||||
Use it if you don't want to blur the image and you still don't like<br>
|
||||
jagged or too much pixelated images.<br>
|
||||
|
||||
**CVBS: NTSC color artifacts: **
|
||||
Tries to emulate typical NTSC color artifacting without emulating
|
||||
full NTSC coding/decoding pipeline.
|
||||
While it improves the look of NTSC content, don't expect it to be
|
||||
an accurate emulation (yet?)
|
||||
As today, it is enough to emulate rainbowing effects on genesis.
|
||||
**CVBS: NTSC color artifacts: **<br>
|
||||
Tries to emulate typical NTSC color artifacting without emulating<br>
|
||||
full NTSC coding/decoding pipeline.<br>
|
||||
While it improves the look of NTSC content, don't expect it to be<br>
|
||||
an accurate emulation (yet?)<br>
|
||||
As today, it is enough to emulate rainbowing effects on genesis.<br>
|
||||
|
||||
** RF Noise: **
|
||||
Emulates radio frequency noise with a given strength
|
||||
** RF Noise: **<br>
|
||||
Emulates radio frequency noise with a given strength<br>
|
||||
|
||||
**CVBS: Bandwidth limited chroma:**
|
||||
Will cause an horizontal chroma bleed which cheaply mimics the effect of
|
||||
poor composite video signals.
|
||||
It can be used with RGB shifting and image blurring to give the picture
|
||||
an ntsc look without dealing with specific encoding/decoding stuffs.
|
||||
**CVBS: Bandwidth limited chroma:**<br>
|
||||
Will cause an horizontal chroma bleed which cheaply mimics the effect of<br>
|
||||
poor composite video signals.<br>
|
||||
It can be used with RGB shifting and image blurring to give the picture<br>
|
||||
an ntsc look without dealing with specific encoding/decoding stuffs. <br>
|
||||
|
||||
**Deconvergence:**
|
||||
Shift R,G,B components separately to mimic channel deconvergence.
|
||||
By varying Red, Green and Blue offsets, the relative component will be
|
||||
shifted column by column, row by row.
|
||||
**Deconvergence:**<br>
|
||||
Shift R,G,B components separately to mimic channel deconvergence.<br>
|
||||
By varying Red, Green and Blue offsets, the relative component will be<br>
|
||||
shifted column by column, row by row.<br>
|
||||
|
||||
**Glow/Blur:**
|
||||
Emulate the CRT glowing "feature", so that the brighter areas of
|
||||
the image will light their surroundings,
|
||||
with options to switch to classic blur.
|
||||
**Glow/Blur:**<br>
|
||||
Emulate the CRT glowing "feature", so that the brighter areas of<br>
|
||||
the image will light their surroundings,<br>
|
||||
with options to switch to classic blur.<br>
|
||||
|
||||
Input signal strength:
|
||||
The input signal gain
|
||||
|
@ -63,8 +71,8 @@
|
|||
This will help you to set the previous 2 values as it will show only
|
||||
the artifacts that will modify the blur.
|
||||
|
||||
**Masks and/or Darklines:**
|
||||
Emulates CRT RGB phosphors (RGB Mask),
|
||||
**Masks and/or Darklines:**<br>
|
||||
Emulates CRT RGB phosphors (RGB Mask),<br>
|
||||
slotmasks and aperturegrille (Darklines).
|
||||
|
||||
(HiDPI) Vmask and Darklines multiplier:
|
||||
|
@ -104,26 +112,11 @@
|
|||
Darklines: affect bright colors:
|
||||
See "RGB Mask: affect bright colors"
|
||||
|
||||
**Halo:**
|
||||
Emulates the effect of the brighter pixels reflected by the CRT glass
|
||||
that lights nearby zones (a sort of tight bloom).
|
||||
The light is meant to be spreaded in a way that it nulls the effect of the
|
||||
dark scanline parts, darklines and the RGB masks.
|
||||
So you can use this to restore the brightness and color saturation
|
||||
loss when using features like scanlines, darklines or RGB masks.
|
||||
**Tate mode:**<br>
|
||||
Rotates mask and scanlines by 90°<br>
|
||||
|
||||
Light up scanlines too:
|
||||
Theoretically Halo have to be applied
|
||||
"over" everything, because that is the way it works in nature.
|
||||
But you can choose to cheat and instead apply scanlines over the halo
|
||||
instead.
|
||||
Do this if you like much more pronunced scanlines, even at the
|
||||
price of some graphical artifacts visible on high contrasted areas.
|
||||
|
||||
Refer to "Glowing Input/power" for other parameters meaning.
|
||||
|
||||
**Scanlines:**
|
||||
Emulate CRT scanlines.
|
||||
**Scanlines:**<br>
|
||||
Emulate CRT scanlines.<br>
|
||||
|
||||
Scanlines gap brightness:
|
||||
controls how "little" they will look pronunced.
|
||||
|
@ -164,11 +157,57 @@
|
|||
. Offset
|
||||
This is the slotmask offset/stagger, (available on type 1 only)
|
||||
Keep it around 79 or all the way to max
|
||||
|
||||
**Dot matrix emulation:**<br>
|
||||
Emulates low refresh "boxed" screens used in old handheld consoles.<br>
|
||||
|
||||
Grid strength:
|
||||
How much the grid is visible.
|
||||
Grid sharpness:
|
||||
Modulates the thickness of the grid around cells.
|
||||
Strength on background:
|
||||
How much should the grid be visible on background?
|
||||
More positive values -> more grid on bright
|
||||
More negative values -> more grid on dark
|
||||
Gap brightness:
|
||||
You may want to use a white grid eg: for gameboy mono emulation.
|
||||
RGB strength:
|
||||
Emulate rgb subpixels (Set 0.0 for BW display)
|
||||
RGB sharpness:
|
||||
Low values will gradually blend subpixels.<br>
|
||||
You may want to lower this value to cancel vertical artifacts.<br>
|
||||
Green gain correction:
|
||||
R and B cnahhels could be partially cancelled by the grid around.<br>
|
||||
Lower this if the image looks green.<br>
|
||||
Refresh inertia:
|
||||
Emulates a low refresh screen, set the power of the effect.<br>
|
||||
Inertia on:
|
||||
0: display is always slow to refresh
|
||||
1: display is slow to refresh bright pixels
|
||||
2: display is slow to refresh dark pixels
|
||||
|
||||
**Bloom:**
|
||||
Acts like Halo, but affects a much wider area and is more configurable.
|
||||
By using this effect and playing with its parameters, you can achieve funny
|
||||
or even artistic results.
|
||||
**Halo:**<br>
|
||||
Emulates the effect of the brighter pixels reflected by the CRT glass<br>
|
||||
that lights nearby zones (a sort of tight bloom).<br>
|
||||
The light is meant to be spreaded in a way that it nulls the effect of the<br>
|
||||
dark scanline parts, darklines and the RGB masks.<br>
|
||||
So you can use this to restore the brightness and color saturation<br>
|
||||
loss when using features like scanlines, darklines or RGB masks.<br>
|
||||
|
||||
Light up scanlines too:
|
||||
Theoretically Halo have to be applied
|
||||
"over" everything, because that is the way it works in nature.
|
||||
But you can choose to cheat and instead apply scanlines over the halo
|
||||
instead.
|
||||
Do this if you like much more pronunced scanlines, even at the
|
||||
price of some graphical artifacts visible on high contrasted areas.
|
||||
|
||||
Refer to "Glowing Input/power" for other parameters meaning.
|
||||
|
||||
**Bloom:**<br>
|
||||
Acts like Halo, but affects a much wider area and is more configurable.<br>
|
||||
By using this effect and playing with its parameters, you can achieve funny<br>
|
||||
or even artistic results.<br>
|
||||
|
||||
Final mix:
|
||||
Modulates between the original images and the bloomed one.
|
||||
|
@ -196,8 +235,8 @@
|
|||
Use 1.0 to see naked bloom without any modulation applied
|
||||
Use 2.0 to see naked bloom with modulation applied
|
||||
|
||||
**Curvature:**
|
||||
Emulates a curved CRT display.
|
||||
**Curvature:**<br>
|
||||
Emulates a curved CRT display.<br>
|
||||
|
||||
WARP X, WARP Y:
|
||||
control how much the display is curved along its axes.
|
||||
|
@ -206,17 +245,17 @@
|
|||
Cut curvature ears;
|
||||
If you see weird image repetition try this.
|
||||
|
||||
**Bezel:**
|
||||
Draws a monitor frame with simulated reflections from the game content.
|
||||
The monitor frame is an image loaded by the shader and is shipped
|
||||
in the "textures" shader subdirectory, named "monitor\_body.png"
|
||||
It has been made with the following rules that may come handy
|
||||
only if you want to edit it; otherwise go on.
|
||||
- The red channel represents the luminance information
|
||||
- The green channel represents the highlights
|
||||
- The alpha channel in the inner frame represents the part of the bezel
|
||||
that will be filled by the game content
|
||||
- The blue channel represents the part of the bezel that will be filled by the game reflection.
|
||||
**Bezel:**<br>
|
||||
Draws a monitor frame with simulated reflections from the game content.<br>
|
||||
The monitor frame is an image loaded by the shader and is shipped<br>
|
||||
in the "textures" shader subdirectory, named "monitor\_body.png"<br>
|
||||
It has been made with the following rules that may come handy<br>
|
||||
only if you want to edit it; otherwise go on.<br>
|
||||
- The red channel represents the luminance information<br>
|
||||
- The green channel represents the highlights<br>
|
||||
- The alpha channel in the inner frame represents the part of the bezel<br>
|
||||
that will be filled by the game content<br>
|
||||
- The blue channel represents the part of the bezel that will be filled by the game reflection.<br>
|
||||
|
||||
Straight
|
||||
Use a straight bezel instead of a curved one.
|
||||
|
@ -241,13 +280,13 @@
|
|||
How much the bezel corners should be darkened
|
||||
|
||||
|
||||
**Backgound image:**
|
||||
Draws an image on screen picked from the "textures" shader subdirectory,
|
||||
named: background.png<br>
|
||||
**-> It is needed that you set retroarch aspect to "Full" <-**
|
||||
( Settings, Video, Scaling, Aspect Ratio = Full )
|
||||
The image is painted "under" the game content and under the monitor frame by
|
||||
default, and his alpha channel will let you see ambient lighs (see next).
|
||||
**Backgound image:**<br>
|
||||
Draws an image on screen picked from the "textures" shader subdirectory,<br>
|
||||
named: background.png<br><br>
|
||||
**-> It is needed that you set retroarch aspect to "Full" <-**<br>
|
||||
( Settings, Video, Scaling, Aspect Ratio = Full )<br>
|
||||
The image is painted "under" the game content and under the monitor frame by<br>
|
||||
default, and his alpha channel will let you see ambient lighs (see next).<br>
|
||||
|
||||
Image over content (alpha channel driven)?:
|
||||
...however you can paint the image over the game content and over the
|
||||
|
@ -271,20 +310,21 @@
|
|||
3 Plain repeat without mirroring.
|
||||
|
||||
|
||||
**Backdrop support:**
|
||||
Some old arcades used a mirror trick to overlay the
|
||||
**Backdrop support:**<br>
|
||||
Some old arcades used a mirror trick to overlay the<br>
|
||||
game content over an high definition printed image.<br>
|
||||
The image used by default, picked from the "textures" shader subdirectory,
|
||||
The image used by default, picked from the "textures" shader subdirectory,<br>
|
||||
is named: boothill.jpg<br>
|
||||
|
||||
Shift(Zoom) Backdrop over X(Y) axis:
|
||||
move or zoom the whole background image.
|
||||
|
||||
|
||||
**Ambient light leds:**
|
||||
Emulates the presence of led strips under the monitor that lights the
|
||||
surroundings according to the edges of the game content.
|
||||
**-> It is needed that you set retroarch aspect to "Full" <-**
|
||||
( Settings, Video, Scaling, Aspect Ratio = Full )
|
||||
**Ambient light leds:**<br>
|
||||
Emulates the presence of led strips under the monitor that lights the<br>
|
||||
surroundings according to the edges of the game content.<br>
|
||||
**-> It is needed that you set retroarch aspect to "Full" <-**<br>
|
||||
( Settings, Video, Scaling, Aspect Ratio = Full )<br>
|
||||
|
||||
Slowness:
|
||||
How much will the leds will take to reflect the game content.
|
||||
|
@ -315,23 +355,23 @@
|
|||
This internally works by adding the amount of your choice to the alpha channel
|
||||
of the foreground image.
|
||||
|
||||
**Luminosity dependant zoom:**
|
||||
On older CRT monitors, the picture gets bigger when the image was brighter.
|
||||
**Luminosity dependant zoom:**<br>
|
||||
On older CRT monitors, the picture gets bigger when the image was brighter.<br>
|
||||
|
||||
**Vignette:**
|
||||
Will cause uneven brightness of the image, more at the center,
|
||||
less at the edges.
|
||||
**Vignette:**<br>
|
||||
Will cause uneven brightness of the image, more at the center,<br>
|
||||
less at the edges.<br>
|
||||
|
||||
**Spot:**
|
||||
Simulates external light reflected by the monitor glass.
|
||||
**Spot:**<br>
|
||||
Simulates external light reflected by the monitor glass.<br>
|
||||
|
||||
**Aspect Ratio:**
|
||||
When using effects that need Retroarch aspect ratio option
|
||||
to be set to "full", you have to provide the source aspect
|
||||
ratio to the shader.
|
||||
Use -6 for MAME cores that pre-rotates the game (TATE mode)
|
||||
With Mame 2003 plus and fbneo cores, koko-aio detects if the
|
||||
game is rotated or not without any user intervention.
|
||||
**Aspect Ratio:**<br>
|
||||
When using effects that need Retroarch aspect ratio option<br>
|
||||
to be set to "full", you have to provide the source aspect<br>
|
||||
ratio to the shader.<br>
|
||||
Use -6 for MAME cores that pre-rotates the game (TATE mode)<br>
|
||||
With Mame 2003 plus and fbneo cores, koko-aio detects if the<br>
|
||||
game is rotated or not without any user intervention.<br>
|
||||
|
||||
Aspect Ratio Numerator:
|
||||
Setting non positive value here will switch to a predefined
|
||||
|
@ -347,12 +387,12 @@
|
|||
As long as Aspect Ratio Numerator is positive, this will
|
||||
be used as the denominator of the fraction.
|
||||
|
||||
**Global shift/zoom image:**
|
||||
Zoom and shift everything on screen, but background pictures.
|
||||
**Global shift/zoom image:**<br>
|
||||
Zoom and shift everything on screen, but background pictures.<br>
|
||||
|
||||
**Override content geometry:**
|
||||
Contrary to the global aspect ratio control, this changes only the game geometry.
|
||||
Bezel stays the same.
|
||||
**Override content geometry:**<br>
|
||||
Contrary to the global aspect ratio control, this changes only the game geometry.<br>
|
||||
Bezel stays the same.<br>
|
||||
|
||||
Integer scale: Game content zoom height is rounded to nearest integer.
|
||||
Maximum integer scale: Dont allow integer scaling more than this
|
||||
|
@ -362,8 +402,11 @@
|
|||
Vertical/Horizontal position: Shifts the game position
|
||||
Zoom: Change the size
|
||||
|
||||
**Tilt:**
|
||||
Put the bezel and the game content into perspective.
|
||||
**Tilt:**<br>
|
||||
Put the bezel and the game content into perspective.<br>
|
||||
The implementation is basic, you can expect correct<br>
|
||||
results when tilting alongside a single axis or when<br>
|
||||
using both, but with small values.<br>
|
||||
|
||||
Tilt along X(Y) axis:
|
||||
Rotate the image in space
|
||||
|
@ -373,11 +416,11 @@
|
|||
in relation to the game tilt amount
|
||||
|
||||
|
||||
**Alternate line blanking:**
|
||||
CRT monitors \*real\* refresh was amazing, today is just "meh" in most cases.
|
||||
This emulates the low pixel persistance of CRT monitors
|
||||
and reduces the motion blur, typical of LCD displays, by blanking even/odd
|
||||
screen lines on even/odd frames, by sacrificing image brightness, ofc.
|
||||
**Alternate line blanking:**<br>
|
||||
CRT monitors \*real\* refresh was amazing, today is just "meh" in most cases.<br>
|
||||
This emulates the low pixel persistance of CRT monitors <br>
|
||||
and reduces the motion blur, typical of LCD displays, by blanking even/odd<br>
|
||||
screen lines on even/odd frames, by sacrificing image brightness, ofc.<br>
|
||||
|
||||
This feature is static, to use it
|
||||
you have to manually enable it by removing the leading: "//"
|
||||
|
|
248
bezel/koko-aio/gameboy_mono_colorized.slangp
Normal file
248
bezel/koko-aio/gameboy_mono_colorized.slangp
Normal file
|
@ -0,0 +1,248 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
scale_x1 = "2.000000"
|
||||
scale_type_y1 = "source"
|
||||
scale_y1 = "2.000000"
|
||||
shader2 = "shaders/fxaa.slang"
|
||||
filter_linear2 = "true"
|
||||
wrap_mode2 = "mirrored_repeat"
|
||||
mipmap_input2 = "true"
|
||||
alias2 = "FXAA_pass"
|
||||
float_framebuffer2 = "false"
|
||||
srgb_framebuffer2 = "false"
|
||||
scale_type_x2 = "source"
|
||||
scale_x2 = "1.000000"
|
||||
scale_type_y2 = "source"
|
||||
scale_y2 = "1.000000"
|
||||
shader3 = "shaders/shift_and_bleed.slang"
|
||||
filter_linear3 = "true"
|
||||
wrap_mode3 = "mirrored_repeat"
|
||||
mipmap_input3 = "false"
|
||||
alias3 = "shift_and_bleed_pass"
|
||||
float_framebuffer3 = "true"
|
||||
srgb_framebuffer3 = "false"
|
||||
scale_type_x3 = "source"
|
||||
scale_x3 = "1.000000"
|
||||
scale_type_y3 = "source"
|
||||
scale_y3 = "1.000000"
|
||||
shader4 = "shaders/in_glow_x.slang"
|
||||
filter_linear4 = "true"
|
||||
wrap_mode4 = "mirrored_repeat"
|
||||
mipmap_input4 = "false"
|
||||
alias4 = "in_glow_pass_x"
|
||||
float_framebuffer4 = "true"
|
||||
srgb_framebuffer4 = "false"
|
||||
scale_type_x4 = "source"
|
||||
scale_x4 = "1.000000"
|
||||
scale_type_y4 = "source"
|
||||
scale_y4 = "1.000000"
|
||||
shader5 = "shaders/in_glow_y.slang"
|
||||
filter_linear5 = "true"
|
||||
wrap_mode5 = "mirrored_repeat"
|
||||
mipmap_input5 = "false"
|
||||
alias5 = "in_glow_pass"
|
||||
float_framebuffer5 = "true"
|
||||
srgb_framebuffer5 = "false"
|
||||
scale_type_x5 = "source"
|
||||
scale_x5 = "1.000000"
|
||||
scale_type_y5 = "source"
|
||||
scale_y5 = "1.000000"
|
||||
shader6 = "shaders/halo_x.slang"
|
||||
filter_linear6 = "true"
|
||||
wrap_mode6 = "clamp_to_edge"
|
||||
mipmap_input6 = "false"
|
||||
alias6 = "halo_pass_x"
|
||||
float_framebuffer6 = "true"
|
||||
srgb_framebuffer6 = "false"
|
||||
scale_type_x6 = "source"
|
||||
scale_x6 = "1.000000"
|
||||
scale_type_y6 = "source"
|
||||
scale_y6 = "1.000000"
|
||||
shader7 = "shaders/halo_y.slang"
|
||||
filter_linear7 = "true"
|
||||
wrap_mode7 = "clamp_to_edge"
|
||||
mipmap_input7 = "false"
|
||||
alias7 = "halo_pass"
|
||||
float_framebuffer7 = "true"
|
||||
srgb_framebuffer7 = "false"
|
||||
scale_type_x7 = "source"
|
||||
scale_x7 = "1.000000"
|
||||
scale_type_y7 = "source"
|
||||
scale_y7 = "1.000000"
|
||||
shader8 = "shaders/avglum_pass.slang"
|
||||
filter_linear8 = "true"
|
||||
wrap_mode8 = "mirrored_repeat"
|
||||
mipmap_input8 = "false"
|
||||
alias8 = "avglum_pass"
|
||||
float_framebuffer8 = "false"
|
||||
srgb_framebuffer8 = "false"
|
||||
scale_type_x8 = "source"
|
||||
scale_x8 = "0.500000"
|
||||
scale_type_y8 = "source"
|
||||
scale_y8 = "0.500000"
|
||||
shader9 = "shaders/reflection_blur_pre.slang"
|
||||
filter_linear9 = "true"
|
||||
wrap_mode9 = "clamp_to_border"
|
||||
mipmap_input9 = "false"
|
||||
alias9 = "reflected_blurred_pass_pre"
|
||||
float_framebuffer9 = "false"
|
||||
srgb_framebuffer9 = "false"
|
||||
scale_type_x9 = "source"
|
||||
scale_x9 = "1.000000"
|
||||
scale_type_y9 = "source"
|
||||
scale_y9 = "1.000000"
|
||||
shader10 = "shaders/reflection_blur.slang"
|
||||
filter_linear10 = "true"
|
||||
wrap_mode10 = "mirrored_repeat"
|
||||
mipmap_input10 = "true"
|
||||
alias10 = "reflected_blurred_pass"
|
||||
float_framebuffer10 = "false"
|
||||
srgb_framebuffer10 = "false"
|
||||
scale_type_x10 = "source"
|
||||
scale_x10 = "1.000000"
|
||||
scale_type_y10 = "source"
|
||||
scale_y10 = "1.000000"
|
||||
shader11 = "shaders/bloom_pass_1.slang"
|
||||
filter_linear11 = "true"
|
||||
wrap_mode11 = "mirrored_repeat"
|
||||
mipmap_input11 = "false"
|
||||
alias11 = "bloom_pass_1"
|
||||
float_framebuffer11 = "false"
|
||||
srgb_framebuffer11 = "false"
|
||||
scale_type_x11 = "source"
|
||||
scale_x11 = "1.000000"
|
||||
scale_type_y11 = "source"
|
||||
scale_y11 = "1.000000"
|
||||
shader12 = "shaders/bloom_pass_2.slang"
|
||||
filter_linear12 = "true"
|
||||
wrap_mode12 = "clamp_to_edge"
|
||||
mipmap_input12 = "false"
|
||||
alias12 = "bloom_pass_2"
|
||||
float_framebuffer12 = "false"
|
||||
srgb_framebuffer12 = "false"
|
||||
scale_type_x12 = "source"
|
||||
scale_x12 = "0.500000"
|
||||
scale_type_y12 = "source"
|
||||
scale_y12 = "0.500000"
|
||||
shader13 = "shaders/bloom_pass_3.slang"
|
||||
filter_linear13 = "true"
|
||||
wrap_mode13 = "clamp_to_edge"
|
||||
mipmap_input13 = "false"
|
||||
alias13 = "bloom_pass_3"
|
||||
float_framebuffer13 = "false"
|
||||
srgb_framebuffer13 = "false"
|
||||
scale_type_x13 = "source"
|
||||
scale_x13 = "1.000000"
|
||||
scale_type_y13 = "source"
|
||||
scale_y13 = "1.000000"
|
||||
shader14 = "shaders/bloom_pass_4.slang"
|
||||
filter_linear14 = "true"
|
||||
wrap_mode14 = "mirrored_repeat"
|
||||
mipmap_input14 = "false"
|
||||
alias14 = "bloom_pass_final"
|
||||
float_framebuffer14 = "true"
|
||||
srgb_framebuffer14 = "false"
|
||||
scale_type_x14 = "source"
|
||||
scale_x14 = "1.000000"
|
||||
scale_type_y14 = "source"
|
||||
scale_y14 = "1.000000"
|
||||
shader15 = "shaders/ambi_temporal_pass.slang"
|
||||
filter_linear15 = "true"
|
||||
wrap_mode15 = "clamp_to_border"
|
||||
mipmap_input15 = "false"
|
||||
alias15 = "ambi_temporal_pass"
|
||||
float_framebuffer15 = "true"
|
||||
srgb_framebuffer15 = "false"
|
||||
scale_type_x15 = "viewport"
|
||||
scale_x15 = "0.050000"
|
||||
scale_type_y15 = "viewport"
|
||||
scale_y15 = "0.050000"
|
||||
shader16 = "shaders/final_pass.slang"
|
||||
filter_linear16 = "true"
|
||||
wrap_mode16 = "mirrored_repeat"
|
||||
mipmap_input16 = "false"
|
||||
alias16 = "final_pass"
|
||||
float_framebuffer16 = "false"
|
||||
srgb_framebuffer16 = "false"
|
||||
scale_type_x16 = "viewport"
|
||||
scale_x16 = "1.000000"
|
||||
scale_type_y16 = "viewport"
|
||||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
BRIGHTNESS = "0.060000"
|
||||
CONTRAST = "-0.270000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
COLOR_MONO_COLORIZE = "1.000000"
|
||||
COLOR_MONO_HUE1 = "0.180000"
|
||||
COLOR_MONO_HUE2 = "0.380000"
|
||||
SATURATION = "0.850000"
|
||||
DO_SHIFT_RGB = "1.000000"
|
||||
OFFSET_STRENGTH = "0.250000"
|
||||
SHIFT_R = "42.000000"
|
||||
SHIFT_G = "42.000000"
|
||||
SHIFT_B = "42.000000"
|
||||
DO_IN_GLOW = "1.000000"
|
||||
IN_GLOW_GAMMA = "2.000000"
|
||||
IN_GLOW_W = "7.000000"
|
||||
IN_GLOW_H = "7.000000"
|
||||
DO_DOT_MATRIX = "1.000000"
|
||||
DOT_M_G_STR = "0.110000"
|
||||
DOT_M_G_TRESH = "0.120001"
|
||||
DOT_M_G_BRT = "0.849999"
|
||||
DOT_M_G_SHARP = "20.000000"
|
||||
DOT_M_RGB_STR = "0.000000"
|
||||
DOT_M_MBLUR_MODE = "1.000000"
|
||||
DOT_M_SHADOW_STR = "0.750000"
|
||||
DOT_M_SHADOW_OFF = "1.000000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "1.000000"
|
||||
DO_DYNZOOM = "0.000000"
|
||||
DO_VIGNETTE = "1.000000"
|
||||
V_SIZE = "1.350001"
|
||||
V_POWER = "1.170000"
|
||||
DO_SPOT = "1.000000"
|
||||
S_POSITION = "195.000000"
|
||||
S_SIZE = "1.000000"
|
||||
ASPECT_X = "1.000000"
|
||||
ASPECT_Y = "1.000000"
|
||||
DO_GAME_GEOM_OVERRIDE = "1.000000"
|
||||
GAME_GEOM_INT_SCALE = "2.000000"
|
||||
textures = "monitor_body_curved;monitor_body_straight;bg_under;bg_over;backdrop"
|
||||
monitor_body_curved = "textures/monitor_body_curved.png"
|
||||
monitor_body_curved_linear = "true"
|
||||
monitor_body_curved_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_curved_mipmap = "true"
|
||||
monitor_body_straight = "textures/monitor_body_straight.png"
|
||||
monitor_body_straight_linear = "true"
|
||||
monitor_body_straight_wrap_mode = "clamp_to_edge"
|
||||
monitor_body_straight_mipmap = "true"
|
||||
bg_under = "textures/background_under.png"
|
||||
bg_under_linear = "true"
|
||||
bg_under_wrap_mode = "mirrored_repeat"
|
||||
bg_under_mipmap = "true"
|
||||
bg_over = "textures/background_over.png"
|
||||
bg_over_linear = "true"
|
||||
bg_over_wrap_mode = "mirrored_repeat"
|
||||
bg_over_mipmap = "true"
|
||||
backdrop = "textures/boothill.jpg"
|
||||
backdrop_linear = "true"
|
||||
backdrop_wrap_mode = "mirrored_repeat"
|
||||
backdrop_mipmap = "true"
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -205,19 +205,19 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_DARK = "0.050000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_DARK = "0.050000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SIZE = "0.010000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.215000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -204,24 +204,24 @@ DO_VMASK_AND_DARKLINES = "1.000000"
|
|||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.300000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "60.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "1.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.300000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "60.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.600000"
|
||||
BEZEL_INNER_ZOOM = "-0.522000"
|
||||
BEZEL_FRAME_ZOOM = "-0.247000"
|
||||
BEZEL_R = "0.030000"
|
||||
BEZEL_G = "0.015000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -204,24 +204,24 @@ DO_VMASK_AND_DARKLINES = "1.000000"
|
|||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.300000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "60.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "1.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.300000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "60.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.440000"
|
||||
BEZEL_INNER_ZOOM = "-0.391000"
|
||||
BEZEL_FRAME_ZOOM = "-0.140000"
|
||||
BEZEL_R = "0.030000"
|
||||
BEZEL_G = "0.015000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -204,24 +204,24 @@ DO_VMASK_AND_DARKLINES = "1.000000"
|
|||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.300000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "60.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "1.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.300000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "60.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "700.000000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.600000"
|
||||
BEZEL_INNER_ZOOM = "-0.522000"
|
||||
BEZEL_FRAME_ZOOM = "-0.247000"
|
||||
BEZEL_R = "0.030000"
|
||||
BEZEL_G = "0.015000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -205,23 +205,23 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_MAX = "0.700000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.380000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_MAX = "0.700000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.185000"
|
||||
BEZEL_INNER_ZOOM = "-0.175000"
|
||||
BEZEL_FRAME_ZOOM = "0.040000"
|
||||
BEZEL_R = "-0.190000"
|
||||
BEZEL_G = "-0.190000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -205,23 +205,23 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_MAX = "0.700000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.380000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_MAX = "0.700000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.011000"
|
||||
BEZEL_INNER_ZOOM = "-0.014000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_R = "-0.190000"
|
||||
BEZEL_G = "-0.190000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -205,20 +205,20 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_DARK = "0.050000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_DARK = "0.050000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SIZE = "0.010000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.215000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -205,24 +205,24 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.185000"
|
||||
BEZEL_INNER_ZOOM = "-0.173000"
|
||||
BEZEL_FRAME_ZOOM = "0.040000"
|
||||
BEZEL_R = "-0.115000"
|
||||
BEZEL_G = "-0.115000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -205,24 +205,24 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.185000"
|
||||
BEZEL_INNER_ZOOM = "-0.173000"
|
||||
BEZEL_FRAME_ZOOM = "0.040000"
|
||||
BEZEL_R = "-0.190000"
|
||||
BEZEL_G = "-0.190000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -205,24 +205,24 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.185000"
|
||||
BEZEL_INNER_ZOOM = "-0.173000"
|
||||
BEZEL_FRAME_ZOOM = "0.040000"
|
||||
BEZEL_R = "-0.190000"
|
||||
BEZEL_G = "-0.190000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -204,23 +204,23 @@ IN_GLOW_BIAS = "0.000000"
|
|||
DO_VMASK_AND_DARKLINES = "1.000000"
|
||||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.011000"
|
||||
BEZEL_INNER_ZOOM = "-0.013000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_R = "-0.190000"
|
||||
BEZEL_G = "-0.190000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -205,24 +205,24 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.011000"
|
||||
BEZEL_INNER_ZOOM = "-0.013000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_R = "-0.190000"
|
||||
BEZEL_G = "-0.190000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -205,21 +205,21 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SIZE = "0.010000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.215000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -205,20 +205,20 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.430000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.250000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SIZE = "0.010000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.215000"
|
||||
|
|
|
@ -31,7 +31,7 @@ void main() {
|
|||
fstep = (border_max - border_min) / (leds_per_strip-1);
|
||||
|
||||
//Calc a lod for a texture sized led_strip x led_strip
|
||||
lod = log2(global.first_passSize.y / leds_per_strip);
|
||||
lod = log2(global.flick_and_noise_passSize.y / leds_per_strip);
|
||||
|
||||
|
||||
//Scale to the original aspect
|
||||
|
@ -40,10 +40,10 @@ void main() {
|
|||
bool isrotated = is_rotated();
|
||||
vIs_rotated = float(isrotated);
|
||||
|
||||
if ( !do_integer_scale() )
|
||||
if ( need_NO_integer_scale() )
|
||||
pre_pass_coords = get_scaled_coords_aspect(TexCoord,global.FinalViewportSize, in_aspect, isrotated) + vec2(0.00001);
|
||||
else
|
||||
pre_pass_coords = integer_scale(TexCoord, in_aspect, isrotated) ;
|
||||
pre_pass_coords = integer_scale(TexCoord, in_aspect, isrotated, GAME_GEOM_INT_SCALE-1.0 ) ;
|
||||
|
||||
|
||||
if (DO_GLOBAL_SHZO >0.5)
|
||||
|
@ -73,13 +73,13 @@ layout(location = 0) out vec4 FragColor;
|
|||
layout(set = 0, binding = 1) uniform sampler2D PastSampler;
|
||||
layout(set = 0, binding = 2) uniform sampler2D avglum_pass;
|
||||
layout(set = 0, binding = 3) uniform sampler2D avglum_passFeedback;
|
||||
layout(set = 0, binding = 4) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 4) uniform sampler2D flick_and_noise_pass;
|
||||
|
||||
|
||||
|
||||
|
||||
vec3 ambi_push_pass(vec2 coords, float f_lod) {
|
||||
vec3 pixel_out = textureLod(first_pass, coords, f_lod).rgb;
|
||||
vec3 pixel_out = textureLod(flick_and_noise_pass, coords, f_lod).rgb;
|
||||
pixel_out = apply_fuzzy_main_pass(pixel_out);
|
||||
pixel_out = pixel_push_luminance(pixel_out, AMBI_POWER-1);
|
||||
return pixel_out;
|
||||
|
|
|
@ -31,7 +31,7 @@ void main() {
|
|||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in float lod;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 2) uniform sampler2D flick_and_noise_pass;
|
||||
layout(set = 0, binding = 3) uniform sampler2D avglum_passFeedback;
|
||||
|
||||
/* The following will allow to sample at reduced interval
|
||||
|
@ -45,7 +45,7 @@ layout(set = 0, binding = 3) uniform sampler2D avglum_passFeedback;
|
|||
|
||||
#define RGB_TO_GRAYSCALE = vec3(0.299, 0.587, 0.114)
|
||||
float get_avg_lum_from_mip() {
|
||||
vec3 mip = textureLod(first_pass, vec2(0.5,0.5),20.0).rgb;
|
||||
vec3 mip = textureLod(flick_and_noise_pass, vec2(0.5,0.5),20.0).rgb;
|
||||
mip = apply_fuzzy_main_pass(mip);
|
||||
//return (mip.r+mip.g+mip.b)/3.0;
|
||||
return rgb_to_gray(mip);
|
||||
|
@ -92,7 +92,7 @@ float get_avglum() {
|
|||
}
|
||||
|
||||
void main() {
|
||||
/*Grab a mipmap from the first pass.
|
||||
/*Grab a mipmap from the flick_and_noise_pass.
|
||||
Calculate the average luminance from the smallest mipmap and put into the alpha channel
|
||||
So that can be used:
|
||||
1 - continuously at coordinate 0.5,0.5
|
||||
|
@ -109,11 +109,11 @@ void main() {
|
|||
if (DO_BEZEL + DO_BLOOM > 0.0) {
|
||||
//Create a small mipmap to be used to light the bezel corners
|
||||
//and by the bloom pass to identify bright areas.
|
||||
pixel_out.rgb = textureLod(first_pass, vTexCoord, mip_lod).rgb;
|
||||
pixel_out.rgb = textureLod(flick_and_noise_pass, vTexCoord, mip_lod).rgb;
|
||||
}
|
||||
|
||||
FragColor = pixel_out;
|
||||
|
||||
//FragColor = texture(first_pass, vTexCoord);
|
||||
//FragColor = texture(flick_and_noise_pass, vTexCoord);
|
||||
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ void main() {
|
|||
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 1) uniform sampler2D ntsc_pass;
|
||||
layout(set = 0, binding = 1) uniform sampler2D colortools_and_ntsc_pass;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
#include "includes/blooms.include.slang"
|
||||
|
@ -28,7 +28,7 @@ void main() {
|
|||
|
||||
|
||||
vec3 bloomed = bloom_gamma_power(
|
||||
ntsc_pass,
|
||||
colortools_and_ntsc_pass,
|
||||
vTexCoord,
|
||||
params.OriginalSize,
|
||||
vec2(BLOOM_SIZE),
|
||||
|
|
|
@ -20,7 +20,7 @@ layout(location = 0) in vec2 vTexCoord;
|
|||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 1) uniform sampler2D Source;
|
||||
layout(set = 0, binding = 2) uniform sampler2D avglum_pass;
|
||||
layout(set = 0, binding = 3) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 3) uniform sampler2D flick_and_noise_pass;
|
||||
layout(set = 0, binding = 4) uniform sampler2D bloom_pass_finalFeedback;
|
||||
|
||||
|
||||
|
@ -40,7 +40,7 @@ layout(set = 0, binding = 4) uniform sampler2D bloom_pass_finalFeedback;
|
|||
|
||||
|
||||
float get_avg_lum_from_mip(sampler2D tex, vec2 co, float lod) {
|
||||
vec3 mip = textureLod(first_pass, co, lod).rgb;
|
||||
vec3 mip = textureLod(flick_and_noise_pass, co, lod).rgb;
|
||||
mip = apply_fuzzy_main_pass(mip);
|
||||
//return (mip.r+mip.g+mip.b)/3.0;
|
||||
float luminance_from_feedback = rgb_to_gray(mip);
|
||||
|
@ -105,7 +105,7 @@ void main() {
|
|||
// (Branching with (if BLOOM_EYE_ADPT_SRT == 0.0) does not gain anything.)
|
||||
// Modulate exposure over time too.
|
||||
//Smooth luminance with specified lod in this alpha channel
|
||||
float zone_luminance = get_avg_lum_from_mip(first_pass, vTexCoord, BLOOM_PUPIL_LUM_ZONE_W);
|
||||
float zone_luminance = get_avg_lum_from_mip(flick_and_noise_pass, vTexCoord, BLOOM_PUPIL_LUM_ZONE_W);
|
||||
float smoothed_avglum = zone_luminance * BLOOM_EYE_ADPT_SRT;
|
||||
bloom_mix_adapted = max(0.0, BLOOM_MIX - smoothed_avglum);
|
||||
|
||||
|
|
|
@ -17,30 +17,6 @@ layout(location = 4) out float vNTSC_weights[NTSC_FILTER_WIDTH_MAX];
|
|||
#include "includes/functions.include.slang"
|
||||
|
||||
|
||||
vec3 kelvin2rgb(float k) {
|
||||
//Convert kelvin temperature to rgb factors
|
||||
k = clamp(k,1000,40000);
|
||||
k=k/100.0;
|
||||
float tmpCalc;
|
||||
vec3 pixel_out;
|
||||
if (k<=66) {
|
||||
pixel_out.r = 255;
|
||||
pixel_out.g = 99.47080258612 * log(k) - 161.11956816610;
|
||||
} else {
|
||||
pixel_out.r = 329.6987274461 * pow(k - 60 ,-0.13320475922);
|
||||
pixel_out.g = 288.12216952833 * pow(k-60, -0.07551484921);
|
||||
}
|
||||
|
||||
if (k >= 66)
|
||||
pixel_out.b = 255;
|
||||
else if (k<=19)
|
||||
pixel_out.b = 0;
|
||||
else
|
||||
pixel_out.b = 138.51773122311 * log(k - 10) - 305.04479273072;
|
||||
|
||||
return pixel_out/255.0;
|
||||
}
|
||||
|
||||
/* hann() sinc() functions by xot:
|
||||
* copyright (c) 2017-2018, John Leffingwell
|
||||
* license CC BY-SA Attribution-ShareAlike
|
||||
|
@ -98,7 +74,7 @@ layout(location = 4) in float vNTSC_weights[NTSC_FILTER_WIDTH_MAX];
|
|||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
layout(set = 0, binding = 2) uniform sampler2D Source;
|
||||
//layout(set = 0, binding = 3) uniform sampler2D ntsc_passFeedback;
|
||||
layout(set = 0, binding = 3) uniform sampler2D colortools_and_ntsc_passFeedback;
|
||||
|
||||
|
||||
// Colorspace conversion matrix for YIQ-to-RGB
|
||||
|
@ -151,31 +127,6 @@ vec4 ntscdec(vec2 uv) {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#define W vec3(0.2125, 0.7154, 0.0721)
|
||||
vec3 color_tools(vec3 pixel_out) {
|
||||
//Apply color corrections to input signal.
|
||||
|
||||
//Push luminance without clipping
|
||||
pixel_out = pixel_push_luminance(pixel_out,LUMINANCE);
|
||||
|
||||
//Modify saturation
|
||||
if (!(SATURATION == 1.0)) {
|
||||
vec3 intensity = vec3(dot(pixel_out.rgb, W));
|
||||
pixel_out.rgb = mix(intensity, pixel_out.rgb, SATURATION);
|
||||
}
|
||||
|
||||
//Modify contrast and brightness
|
||||
if (CONTRAST != 0.0 || BRIGHTNESS != 0.0)
|
||||
pixel_out.rgb = apply_contrast_brightness(pixel_out.rgb, CONTRAST, BRIGHTNESS);
|
||||
|
||||
//Modify color temperature
|
||||
if (TEMPERATURE != 6500.0) pixel_out.rgb = pixel_out.rgb * vTemperature_rgb;
|
||||
return pixel_out;
|
||||
}
|
||||
|
||||
|
||||
vec3 debug() {
|
||||
vec3 pixel_debug;
|
||||
float blink_time = 120;
|
||||
|
@ -190,7 +141,6 @@ void main() {
|
|||
|
||||
//FragColor = vec4(debug(), 1.0); return;
|
||||
|
||||
|
||||
//This will go into alpha channel to make glow aware of it and blur more.
|
||||
//It could be configurable.
|
||||
float artifacts = 0.0;
|
||||
|
@ -202,7 +152,7 @@ void main() {
|
|||
pixel_out = pixel_out_vec4.rgb;
|
||||
|
||||
artifacts = pixel_out_vec4.a;
|
||||
//artifacts = mix(artifacts, texture(ntsc_passFeedback, vTexCoord).a, 0.5); <-- this helps
|
||||
//artifacts = mix(artifacts, texture(colortools_and_ntsc_passFeedback, vTexCoord).a, 0.5); <-- this helps
|
||||
//FragColor = vec4(artifacts); return;
|
||||
|
||||
/*
|
||||
|
@ -217,10 +167,24 @@ void main() {
|
|||
}
|
||||
|
||||
if (DO_CCORRECTION == 1.0)
|
||||
pixel_out = color_tools(pixel_out);
|
||||
pixel_out = color_tools(pixel_out, vTemperature_rgb);
|
||||
|
||||
|
||||
|
||||
if (DO_DOT_MATRIX + DOT_M_MBLUR_STR > 1.0) {
|
||||
vec3 feedback = texture(colortools_and_ntsc_passFeedback, vTexCoord).rgb;
|
||||
|
||||
vec3 m_blur_adapted = vec3(DOT_M_MBLUR_STR);
|
||||
if (DOT_M_MBLUR_MODE > 0.0) {
|
||||
vec3 adaption = mix_step (pixel_out - feedback,
|
||||
feedback - pixel_out,
|
||||
DOT_M_MBLUR_MODE -1);
|
||||
//adaption = mix_step(adaption, -adaption, DOT_M_MBLUR_MODE -1);
|
||||
m_blur_adapted *= clamp( adaption, 0.0, 1.0 );
|
||||
m_blur_adapted = pow(m_blur_adapted, vec3(0.25));
|
||||
}
|
||||
pixel_out = mix(pixel_out, feedback, m_blur_adapted );
|
||||
}
|
||||
|
||||
|
||||
FragColor = vec4(pixel_out, artifacts);
|
|
@ -55,7 +55,10 @@
|
|||
#define CONTRAST global.CONTRAST
|
||||
#define BRIGHTNESS global.BRIGHTNESS
|
||||
#define TEMPERATURE global.TEMPERATURE
|
||||
|
||||
#define COLOR_MONO_COLORIZE global.COLOR_MONO_COLORIZE
|
||||
#define COLOR_MONO_HUE1 global.COLOR_MONO_HUE1
|
||||
#define COLOR_MONO_HUE2 global.COLOR_MONO_HUE2
|
||||
#define COLOR_MONO_HUE_BIAS global.COLOR_MONO_HUE_BIAS
|
||||
|
||||
|
||||
#define DO_FXAA global.DO_FXAA
|
||||
|
@ -252,3 +255,19 @@
|
|||
#define TILT_Y global.TILT_Y
|
||||
#define TILT_FOV global.TILT_FOV
|
||||
#define TILT_BEZEL_K global.TILT_BEZEL_K
|
||||
|
||||
#define TATE global.TATE
|
||||
|
||||
#define DO_DOT_MATRIX global.DO_DOT_MATRIX
|
||||
#define DOT_M_G_SHARP global.DOT_M_G_SHARP
|
||||
#define DOT_M_RGB_SHARP global.DOT_M_RGB_SHARP
|
||||
#define DOT_M_RGB_STR global.DOT_M_RGB_STR
|
||||
#define DOT_M_G_TRESH global.DOT_M_G_TRESH
|
||||
#define DOT_M_G_BRT global.DOT_M_G_BRT
|
||||
#define DOT_M_G_GAIN global.DOT_M_G_GAIN
|
||||
#define DOT_M_G_STR global.DOT_M_G_STR
|
||||
#define DOT_M_MBLUR_STR global.DOT_M_MBLUR_STR
|
||||
#define DOT_M_MBLUR_MODE global.DOT_M_MBLUR_MODE
|
||||
#define DOT_M_MULTIPLY global.DOT_M_MULTIPLY
|
||||
#define DOT_M_SHADOW_STR global.DOT_M_SHADOW_STR
|
||||
#define DOT_M_SHADOW_OFF global.DOT_M_SHADOW_OFF
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
|
||||
// BEZEL STATIC CONFIG ##############################################################################################
|
||||
//The following defines the monitor frame resolution in textures/monitor_body_[curved/straight].png
|
||||
//and are used to calculate the sampling lod.
|
||||
//Change if you change the texture resolution or
|
||||
//you can comment it to let the shader calculates them at runtime (heavier).
|
||||
#define BEZEL_RES vec2(2923, 2178)
|
||||
|
||||
// Uncomment this to improve bezel downscaling.
|
||||
// If you are using standard bezel, leave commented to gain performance.
|
||||
#define STATIC_BEZEL_USE_MIPMAP 1.0
|
||||
//The following can slightly correct bezel aspect
|
||||
#define BEZEL_ASPECT_CORRECTION (1.0 - 0.004)
|
||||
|
||||
//This is used to skip calculations in the reflection blur code.
|
||||
//set it to minimum value that allows you to see reflection entirely
|
||||
|
@ -183,9 +187,14 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
|||
//vec4 monitor_bodySize;
|
||||
//vec4 bgSize;
|
||||
vec4 avglum_passSize;
|
||||
vec4 first_passSize;
|
||||
vec4 ntsc_passSize;
|
||||
vec4 flick_and_noise_passSize;
|
||||
vec4 colortools_and_ntsc_passSize;
|
||||
|
||||
float COLOR_MONO_COLORIZE;
|
||||
float COLOR_MONO_HUE1;
|
||||
float COLOR_MONO_HUE2;
|
||||
float COLOR_MONO_HUE_BIAS;
|
||||
|
||||
float DO_SCANLINES;
|
||||
float DO_IN_GLOW;
|
||||
float DO_VMASK_AND_DARKLINES ;
|
||||
|
@ -337,16 +346,36 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
|||
float BACKDROP_OFFY;
|
||||
float BACKDROP_ZOOM;
|
||||
|
||||
float TATE;
|
||||
|
||||
float DO_DOT_MATRIX;
|
||||
float DOT_M_G_SHARP;
|
||||
float DOT_M_G_TRESH;
|
||||
float DOT_M_G_STR;
|
||||
float DOT_M_G_BRT;
|
||||
float DOT_M_RGB_SHARP;
|
||||
float DOT_M_RGB_STR;
|
||||
float DOT_M_G_GAIN;
|
||||
float DOT_M_MBLUR_STR;
|
||||
float DOT_M_MBLUR_MODE;
|
||||
float DOT_M_MULTIPLY;
|
||||
float DOT_M_SHADOW_STR;
|
||||
float DOT_M_SHADOW_OFF;
|
||||
|
||||
} global;
|
||||
|
||||
// Color correction
|
||||
#pragma parameter DO_CCORRECTION "★ Color corrections enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter LUMINANCE " Luminance push (>1.0=clip)" 0.0 0.0 1.5 0.05
|
||||
#pragma parameter SATURATION " Saturation in (1.0=off)" 1.0 0.0 2.0 0.01
|
||||
#pragma parameter CONTRAST " Contrast in (0.0=off)" 0.0 -1.0 1.0 0.01
|
||||
#pragma parameter BRIGHTNESS " Brightness in (0.0=off)" 0.0 -1.0 1.0 0.01
|
||||
#pragma parameter CONTRAST " Contrast in (0.0=off)" 0.0 -1.0 1.0 0.01
|
||||
#pragma parameter TEMPERATURE " Temperature in (6500=off)" 6500.0 3000 10000.0 50.0
|
||||
#pragma parameter GAMMA_OUT " Gamma out" 0.69 0.1 4.0 0.01
|
||||
#pragma parameter COLOR_MONO_COLORIZE " Monochrome screen colorization" 0.0 0.0 1.0 0.1
|
||||
#pragma parameter COLOR_MONO_HUE1 " . Hue bright" 0.25 0.0 1.0 0.01
|
||||
#pragma parameter COLOR_MONO_HUE2 " . Hue dark" 0.3 0.0 1.0 0.01
|
||||
#pragma parameter COLOR_MONO_HUE_BIAS " . Hue bright-dark bias" 0.0 -2.0 2.0 0.01
|
||||
#pragma parameter SATURATION " Saturation in (1.0=off)" 1.0 0.0 2.0 0.01
|
||||
#pragma parameter BLANK1 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
@ -411,7 +440,6 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
|||
#pragma parameter BLANK7 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
// Mask
|
||||
#pragma parameter DO_VMASK_AND_DARKLINES "★ Masks and/or Darklines enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter MASK_COMPENSATION " Compensate for brightness loss" 0.0 0.0 1.0 0.05
|
||||
|
@ -428,21 +456,11 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
|||
#pragma parameter DRKLN_OVERWHITE " . Affect bright colors" 1.0 0.0 1.0 0.05
|
||||
#pragma parameter BLANK9 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
// Halo
|
||||
#pragma parameter DO_HALO "★ Halo enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter HALO_POWER " Strength" 0.9 0.0 5.0 0.025
|
||||
#pragma parameter HALO_W " Sharpness, horizontal" 1.75 0.35 7.0 0.05
|
||||
#pragma parameter HALO_H " Sharpness, Vertical" 1.75 0.35 7.0 0.05
|
||||
#pragma parameter HALO_GAMMA " Gamma, the higher, the less the halo on dark colors" 2.0 1.0 10.0 0.1
|
||||
#pragma parameter HALO_VS_SCAN " Light up scanlines gaps too" 0.0 0.0 1.0 0.1
|
||||
#pragma parameter BLANK10 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
#pragma parameter TATE "★ Tate mode (1:auto 2:forced)" 0.0 0.0 2.0 1.0
|
||||
#pragma parameter BLANK7a " " 0.0 0.0 1.0 1.0
|
||||
|
||||
// Scanlines
|
||||
#pragma parameter DO_SCANLINES "★ Scanlines enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter DO_SCANLINES "★ Scanlines enable? (NOT with dot matrix!) ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter SCANLINE_MIN " Minimum height" 1.0 0.01 1.0 0.01
|
||||
#pragma parameter SCANLINE_MAX " Maximum height" 0.5 0.05 1.0 0.01
|
||||
#pragma parameter SCANLINE_MINMAX_GAMMA " Min->Max inertia" 1.0 0.0 4.0 0.1
|
||||
|
@ -452,12 +470,38 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
|||
#pragma parameter SCANLINE_FLICKERING_POWER " Interlace Flicker power" 0.25 0.0 8.0 0.01
|
||||
#pragma parameter SCANLINE_DISABLE_ON_INTERLACE " Disable on interlaced screen" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter BLANK11 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
#pragma parameter SCANLINE_SM_TYPE " Slotmask type (disable (0) with darklines!)" 0.0 0.0 3.0 1.0
|
||||
#pragma parameter SCANLINE_SM_STRENGTH " . Slotmask strength" 1.0 0.0 1.0 0.05
|
||||
#pragma parameter SCANLINE_SM_VOFFSET " . Offset (type 1 only)" 45.0 0.0 158.0 1.0
|
||||
#pragma parameter BLANK12 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
// Dot matrix emulation
|
||||
#pragma parameter DO_DOT_MATRIX "★ Dot matrix emulation enable? (NOT with scanlines!) ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter DOT_M_G_STR " Grid strength" 0.0 0.0 1.0 0.01
|
||||
#pragma parameter DOT_M_G_TRESH " . Paint on bright (<0 on black)" 1.1 -1.1 1.1 0.01
|
||||
#pragma parameter DOT_M_G_BRT " . Grid brightness" 0.0 0.0 1.0 0.01
|
||||
#pragma parameter DOT_M_G_SHARP " . Grid sharpness" 2.0 0.0 20.0 0.25
|
||||
#pragma parameter DOT_M_RGB_STR " RGB strength" 1.0 0.0 1.0 0.01
|
||||
#pragma parameter DOT_M_RGB_SHARP " . RGB sharpness" 2.0 0.1 16.0 0.01
|
||||
#pragma parameter DOT_M_G_GAIN " . RGB Green gain correction" 0.85 0.1 1.0 0.01
|
||||
#pragma parameter DOT_M_MBLUR_STR " Refresh inertia" 0.45 0.0 0.9 0.05
|
||||
#pragma parameter DOT_M_MBLUR_MODE " . Inertia on: both,white,black" 0.0 0.0 2.0 1.0
|
||||
#pragma parameter DOT_M_SHADOW_STR " Shadow strength (disables deconvergence)" 0.0 0.0 1.0 0.01
|
||||
#pragma parameter DOT_M_SHADOW_OFF " Shadow offset" 0.0 -1.0 1.0 0.01
|
||||
|
||||
#pragma parameter DOT_M_MULTIPLY " Multiply factor (debug)" 1.0 1.0 50.0 1.0
|
||||
#pragma parameter BLANK12c " " 0.0 0.0 1.0 1.0
|
||||
|
||||
// Halo
|
||||
#pragma parameter DO_HALO "★ Halo enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter HALO_POWER " Strength" 0.9 0.0 5.0 0.025
|
||||
#pragma parameter HALO_W " Sharpness, horizontal" 1.75 0.35 7.0 0.05
|
||||
#pragma parameter HALO_H " Sharpness, Vertical" 1.75 0.35 7.0 0.05
|
||||
#pragma parameter HALO_GAMMA " Gamma, the higher, the less the halo on dark colors" 2.0 1.0 10.0 0.1
|
||||
#pragma parameter HALO_VS_SCAN " Light up scanlines and dot grid gaps too" 0.0 0.0 1.0 0.1
|
||||
#pragma parameter BLANK10 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
|
||||
|
||||
// Bloom
|
||||
#pragma parameter DO_BLOOM "★ Bloom enable? ==>" 0.0 0.0 1.0 1.0
|
||||
|
@ -477,8 +521,8 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
|||
|
||||
//Curvature parameters:
|
||||
#pragma parameter DO_CURVATURE "★ Curvature/Border enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter GEOM_WARP_X " Warp X" 0.3 0.0 6.0 0.025
|
||||
#pragma parameter GEOM_WARP_Y " Warp Y" 0.0 0.0 6.0 0.025
|
||||
#pragma parameter GEOM_WARP_X " Warp X" 0.430 0.0 6.0 0.01
|
||||
#pragma parameter GEOM_WARP_Y " Warp Y" 0.49 0.0 6.0 0.01
|
||||
#pragma parameter GEOM_CUT_EARS " Cut curvature ears" 1.4 1.0 10.0 0.01
|
||||
#pragma parameter GEOM_CORNER_SIZE " Corner radius" 0.005 0.005 0.1 0.001
|
||||
#pragma parameter GEOM_CORNER_SMOOTH " Corner sharpness" 350.0 15.0 1000.0 1.0
|
||||
|
@ -489,8 +533,8 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
|||
//Bezel related
|
||||
#pragma parameter DO_BEZEL "★ Bezel enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter BEZEL_USE_STRAIGHT " Straight" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter BEZEL_INNER_ZOOM " Inner zoom (ignored if integer scaled)" -0.18 -1.5 0.5 0.005
|
||||
#pragma parameter BEZEL_FRAME_ZOOM " Frame zoom" 0.0 -1.5 0.5 0.005
|
||||
#pragma parameter BEZEL_INNER_ZOOM " Inner zoom (ignored if integer scaled)" -0.18 -1.5 0.5 0.001
|
||||
#pragma parameter BEZEL_FRAME_ZOOM " Frame zoom" 0.0 -1.5 0.5 0.001
|
||||
#pragma parameter BEZEL_R " Color: Red" -0.3 -1.0 1.0 0.005
|
||||
#pragma parameter BEZEL_G " Color: Green" -0.3 -1.0 1.0 0.005
|
||||
#pragma parameter BEZEL_B " Color: Blue" -0.3 -1.0 1.0 0.005
|
||||
|
@ -517,7 +561,8 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
|||
#pragma parameter BG_IMAGE_ZOOM " Zoom Image" 1.0 -1.0 3.0 0.0005
|
||||
#pragma parameter BG_IMAGE_ROTATION " Rotate image mode (-1 for auto)" -1.0 -1.0 2.0 1.0
|
||||
#pragma parameter BG_IMAGE_NIGHTIFY " Nightify image" 0.0 0.0 1.0 0.1
|
||||
#pragma parameter BG_IMAGE_WRAP_MODE " Wrap mode: default, clamp to border, edge, repeat" 0.0 0.0 3.0 1.0
|
||||
#pragma parameter LABEL_0101 " !NEXT FEATURE IS STATIC, SEE docs.md TO ENABLE" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter BG_IMAGE_WRAP_MODE " Wrap mode: default, clamp to border, edge, repeat" 0.0 0.0 3.0 1.0
|
||||
#pragma parameter BLANK16 " " 0.0 0.0 1.0 1.0
|
||||
|
||||
//Backdrop image
|
||||
|
@ -594,8 +639,8 @@ layout(std140, set = 0, binding = 0) uniform UBO {
|
|||
|
||||
//Content geomerty overrides
|
||||
#pragma parameter DO_GAME_GEOM_OVERRIDE "★ Override content geometry enable? ==>" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter GAME_GEOM_INT_SCALE " Integer scale (disables inner zoom)" 0.0 0.0 1.0 1.0
|
||||
#pragma parameter GAME_GEOM_INT_SCALE_MAX " Maximum integer scale" 10.0 1.0 100.0 1.0
|
||||
#pragma parameter GAME_GEOM_INT_SCALE " Integer scale (disables inner zoom) 2=No keep aspect" 0.0 0.0 2.0 1.0
|
||||
#pragma parameter GAME_GEOM_INT_SCALE_MAX " Maximum integer scale" 10.0 1.0 100.0 1.0
|
||||
#pragma parameter LABEL_WARNING4 " ⚠ The following will override integer scale ⚠" 1.0 1.0 1.0 1.0
|
||||
#pragma parameter GAME_GEOM_ASPECT " Aspect (0 = unchanged)" 0.0 0.0 3.0 0.005
|
||||
#pragma parameter GAME_GEOM_VSHIFT " Vertical position" 0.0 -10.0 10.0 0.01
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
* Does masks, spot, bezel, vignette, background image (anything else?)
|
||||
*/
|
||||
|
||||
|
||||
#include "config.inc"
|
||||
|
||||
#pragma stage vertex
|
||||
|
@ -15,7 +16,7 @@ layout(location = 1) in vec2 TexCoord;
|
|||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out vec2 vOutputCoord;
|
||||
layout(location = 2) out vec2 spot_offset;
|
||||
layout(location = 3) out vec2 vFragCoord;
|
||||
layout(location = 3) out vec2 vFragCoord_Tated;
|
||||
layout(location = 4) out float vIsRotated;
|
||||
|
||||
|
||||
|
@ -36,6 +37,9 @@ layout(location = 4) out float vIsRotated;
|
|||
layout(location = 13) out float vDynamicSeed;
|
||||
layout(location = 14) out float vBEZEL_INNER_ZOOM_adapted;
|
||||
layout(location = 15) out float vVmask_gap;
|
||||
layout(location = 16) out float vFcol_Tated;
|
||||
layout(location = 17) out float vDo_Tate;
|
||||
layout(location = 18) out vec3 vDotMat_Grid_Color;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
|
@ -47,10 +51,10 @@ void main() {
|
|||
vIn_aspect = get_in_aspect();
|
||||
|
||||
//Calculate vTexcoord as fractional or integer scaled?
|
||||
if ( !do_integer_scale() )
|
||||
vTexCoord = get_scaled_coords_aspect(TexCoord,global.FinalViewportSize, vIn_aspect, bool(vIsRotated)) + vec2(0.0001);
|
||||
if ( need_NO_integer_scale() )
|
||||
vTexCoord = get_scaled_coords_aspect(TexCoord,global.FinalViewportSize, vIn_aspect, bool(vIsRotated)) + vec2(0.0000);
|
||||
else
|
||||
vTexCoord = integer_scale(TexCoord, vIn_aspect, bool(vIsRotated)) + vec2(0.0001); //<- without the offset, SCANLINE_MIN doesn't work.
|
||||
vTexCoord = integer_scale(TexCoord, vIn_aspect, bool(vIsRotated), GAME_GEOM_INT_SCALE-1.0 ) + vec2(0.0001); //<- without the offset, SCANLINE_MIN doesn't work.
|
||||
|
||||
//if (DO_GLOBAL_SHZO >0.5)
|
||||
// vTexCoord = zoom(vTexCoord + vec2(-GLOBAL_OFFX, -GLOBAL_OFFY), GLOBAL_ZOOM );
|
||||
|
@ -60,17 +64,17 @@ void main() {
|
|||
|
||||
vOutputCoord = TexCoord;
|
||||
|
||||
vFragCoord = vec2( floor(vOutputCoord.x * params.OutputSize.x),
|
||||
|
||||
vec2 vFragCoord = vec2( floor(vOutputCoord.x * params.OutputSize.x),
|
||||
floor(vOutputCoord.y * params.OutputSize.y));
|
||||
|
||||
|
||||
vDo_Tate = float(TATE+vIsRotated > 1.001);
|
||||
vFragCoord_Tated = mix_step(vFragCoord.xy, vFragCoord.yx, vDo_Tate );
|
||||
|
||||
vBEZEL_INNER_ZOOM_adapted = get_BEZEL_INNER_ZOOM() * DO_BEZEL;
|
||||
|
||||
//Precalc some Curvature/Warp values:
|
||||
float warp_adaption = 1 - vBEZEL_INNER_ZOOM_adapted * 4.0;
|
||||
vec2 geom_warp_adapted = vec2(GEOM_WARP_X, GEOM_WARP_Y) * warp_adaption;
|
||||
|
||||
vWarp_vexp = 1.0/ (1 + (vec2(geom_warp_adapted.x, geom_warp_adapted.y) * 0.2)) ;
|
||||
vWarp_vexp = 1.0/ (1 + (vec2(GEOM_WARP_X, GEOM_WARP_Y) * 0.2)) ;
|
||||
vWarp_arg2 = 1.0 - pow(vec2(0.29289321881345247559915563789515), vWarp_vexp );
|
||||
|
||||
//SPOT
|
||||
|
@ -96,7 +100,7 @@ void main() {
|
|||
//contrast and brightness into account. This is needed so that scanline generation
|
||||
//can map the proper input range and strictly obey scanline thickness constraints.
|
||||
vMax_inLum = max( 1.0, DO_CCORRECTION * apply_contrast_brightness(1.0, CONTRAST, BRIGHTNESS)) *
|
||||
max( 1.0, DO_IN_GLOW * IN_GLOW_POWER);
|
||||
max( 1.0, DO_IN_GLOW * IN_GLOW_POWER);
|
||||
}
|
||||
|
||||
//Generate a seed that changes over time for temporal random noise
|
||||
|
@ -107,6 +111,16 @@ void main() {
|
|||
// vec4 GAP_SIZE_PER_SCALE = vec4(1.0, 1.0, 2.0, 2.0); <--- moved in config.inc
|
||||
vec4 vgap_size_per_scale = GAP_SIZE_PER_SCALE / VMASK_DARKLINE_SCALE;
|
||||
vVmask_gap = vgap_size_per_scale[int(VMASK_DARKLINE_SCALE-1)];
|
||||
|
||||
vFcol_Tated = mix_step(vOutputCoord.x * params.OutputSize.x, vOutputCoord.y * params.OutputSize.y, vDo_Tate);
|
||||
|
||||
//Calc dotmat grid color
|
||||
vDotMat_Grid_Color = vec3(DOT_M_G_BRT);
|
||||
if (DO_DOT_MATRIX + DO_CCORRECTION > 1.1) {
|
||||
vDotMat_Grid_Color = color_tools(vec3(DOT_M_G_BRT), kelvin2rgb(TEMPERATURE));
|
||||
//Since we modify grid brightness via a specific use parameter, explicitely multiply it by that:
|
||||
vDotMat_Grid_Color *= DOT_M_G_BRT ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -114,7 +128,7 @@ void main() {
|
|||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in vec2 vOutputCoord;
|
||||
layout(location = 2) in vec2 spot_offset;
|
||||
layout(location = 3) in vec2 vFragCoord;
|
||||
layout(location = 3) in vec2 vFragCoord_Tated;
|
||||
layout(location = 4) in float vIsRotated;
|
||||
layout(location = 5) in vec2 vWarp_vexp;
|
||||
layout(location = 6) in vec2 vWarp_arg2;
|
||||
|
@ -127,7 +141,9 @@ layout(location = 12) in float vIn_aspect;
|
|||
layout(location = 13) in float vDynamicSeed;
|
||||
layout(location = 14) in float vBEZEL_INNER_ZOOM_adapted;
|
||||
layout(location = 15) in float vVmask_gap;
|
||||
|
||||
layout(location = 16) in float vFcol_Tated;
|
||||
layout(location = 17) in float vDo_Tate;
|
||||
layout(location = 18) in vec3 vDotMat_Grid_Color;
|
||||
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
|
@ -147,7 +163,7 @@ layout(set = 0, binding = 11) uniform sampler2D in_glow_pass;
|
|||
layout(set = 0, binding = 12) uniform sampler2D halo_pass;
|
||||
|
||||
|
||||
layout(set = 0, binding = 15) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 15) uniform sampler2D flick_and_noise_pass;
|
||||
|
||||
|
||||
|
||||
|
@ -196,8 +212,8 @@ vec3 pixel_vmask(vec3 source, float white_reference, float over_white) {
|
|||
vec4 vec_mod=(vec4(3,1,2,3) + vec4(VMASK_GAP * vVmask_gap,0.0,0.0,0.0))* VMASK_DARKLINE_SCALE;
|
||||
vec_mod = ceil(vec_mod);
|
||||
|
||||
float fcol = vOutputCoord.x * params.OutputSize.x;
|
||||
float mod_compare = mod(fcol, vec_mod.x);
|
||||
|
||||
float mod_compare = mod(vFcol_Tated, vec_mod.x);
|
||||
|
||||
if (mod_compare < vec_mod.y)
|
||||
vmasked = m1;
|
||||
|
@ -240,13 +256,12 @@ vec3 pixel_vmask_gm(vec3 source, float white_reference, float over_white) {
|
|||
vec3 m2 = vec3( 1.0 , ooo , 1.0 ); //col 2
|
||||
vec3 gap = vec3( ggg );
|
||||
|
||||
float fcol = vOutputCoord.s * params.OutputSize.x;
|
||||
vec3 pixel_out;
|
||||
vec3 vmasked;
|
||||
vec3 vec_mod=(vec3(2,1,2) + vec3(VMASK_GAP * vVmask_gap,0.0,0.0))* VMASK_DARKLINE_SCALE ;
|
||||
vec_mod = ceil(vec_mod);
|
||||
|
||||
float mod_compare = mod(fcol, vec_mod.x);
|
||||
float mod_compare = mod(vFcol_Tated, vec_mod.x);
|
||||
|
||||
/*
|
||||
if (mod_compare < vec_mod.y)
|
||||
|
@ -281,7 +296,7 @@ vec3 pixel_darklines(vec3 source,float darkline_every, float darkline_trans,
|
|||
float period_x = (3.0 - VMASK_USE_GM + VMASK_GAP * vVmask_gap) * VMASK_DARKLINE_SCALE;
|
||||
float period_y = darkline_every * VMASK_DARKLINE_SCALE;
|
||||
|
||||
vec2 FragCoord = vFragCoord;
|
||||
vec2 FragCoord = vFragCoord_Tated;
|
||||
|
||||
if (over_white != 1.0) {
|
||||
//less effect on bright colors.
|
||||
|
@ -302,7 +317,88 @@ vec3 pixel_darklines(vec3 source,float darkline_every, float darkline_trans,
|
|||
return source;
|
||||
}
|
||||
|
||||
float fn_scanline_mask(vec2 coords, bool do_slotmask, float lum, float min_inLum, float max_inLum) {
|
||||
|
||||
|
||||
vec4 fn_pixel_dotmat(vec2 coords, vec3 pixel_in) {
|
||||
|
||||
|
||||
//Base angle, depends on original size:
|
||||
vec2 angle_base = coords * pi * params.OriginalSize.xy; //FIXME here we want .yy to make integer scaling
|
||||
|
||||
//Zoom to debug:
|
||||
angle_base/=DOT_M_MULTIPLY;
|
||||
|
||||
//Set the rgb and grid sharpness:
|
||||
vec3 s_rgb = vec3(DOT_M_RGB_SHARP);
|
||||
float s_grid = DOT_M_G_SHARP;
|
||||
|
||||
//Generate bw grid:
|
||||
vec2 grid = cos(angle_base);
|
||||
grid = grid * grid;
|
||||
grid = pow(grid, vec2(s_grid));
|
||||
grid = 1 - grid;
|
||||
|
||||
//Generate rgb mask
|
||||
vec3 mask_rgb=vec3(1.0);
|
||||
if (DOT_M_RGB_STR > 0.0) {
|
||||
//float wideness_k = DOT_M_RGB_WID;
|
||||
float rgb_wideness = (pi/4.0); // * wideness_k;
|
||||
|
||||
//Generates 3 sines with 1/3 pi offset
|
||||
vec3 angle_rgb = vec3( angle_base.x + rgb_wideness,
|
||||
angle_base.x - pi,
|
||||
angle_base.x - rgb_wideness );
|
||||
|
||||
mask_rgb = sin(angle_rgb);
|
||||
mask_rgb *= mask_rgb;
|
||||
mask_rgb = pow(mask_rgb, s_rgb);
|
||||
|
||||
//Adjust green gain
|
||||
mask_rgb.g *= DOT_M_G_GAIN;
|
||||
|
||||
//Apply strength
|
||||
mask_rgb=mix(vec3(1.0), mask_rgb, DOT_M_RGB_STR);
|
||||
}
|
||||
|
||||
|
||||
//Combine gridx and gridy into a single one
|
||||
//float fgrid = min(grid.x, grid.y);
|
||||
float fgrid = grid.x* grid.y;
|
||||
|
||||
//Modify strength for "paint on background" option
|
||||
|
||||
//Smoothly fadeout grid on background
|
||||
//The fadeout size:
|
||||
float fade_size = 0.3;
|
||||
|
||||
//We invert the smooth logic if threshold is negative. this allow to fadeout
|
||||
//the grid on bright or dark backgrounds.
|
||||
float lum_scaled = dot(pixel_in, vec3(0.33333));
|
||||
lum_scaled = clamp(lum_scaled, 0.0, 1.0);
|
||||
lum_scaled = mix_step(1-lum_scaled, lum_scaled, float(DOT_M_G_TRESH > 0.0));
|
||||
|
||||
float smooth_threshold = abs(DOT_M_G_TRESH);
|
||||
vec2 smooth_range = vec2(smooth_threshold, smooth_threshold+fade_size);
|
||||
float grid_smoothstep = 1- smoothstep(smooth_range.x, smooth_range.y, lum_scaled);
|
||||
|
||||
|
||||
|
||||
//Adapt grid strength
|
||||
float grid_str = DOT_M_G_STR * grid_smoothstep;
|
||||
//Apply strength modifier
|
||||
float fgrid_adpt = mix(1.0, fgrid, grid_str);
|
||||
|
||||
|
||||
//Output is the mix of the gap and the rgb masked pixel in.
|
||||
//In the alpha channel we put the grid because it could be selectiveli brightened by halo
|
||||
return vec4(
|
||||
mix(vDotMat_Grid_Color, pixel_in * mask_rgb ,fgrid_adpt),
|
||||
fgrid_adpt
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
float fn_scanline_mask(vec2 coords, bool do_slotmask, float lum, float min_inLum, float max_inLum, float tate) {
|
||||
/* Produces a B/W scanline shape to be multiplicated by the source
|
||||
* pixel later on to emulate scanline effect.
|
||||
* scanlines can be drawn on odd and even fields alternating on odd and
|
||||
|
@ -318,13 +414,21 @@ float fn_scanline_mask(vec2 coords, bool do_slotmask, float lum, float min_inLum
|
|||
float lum_scaled = map_range(lum, min_inLum, max_inLum, SCANLINE_MIN, SCANLINE_MAX);
|
||||
|
||||
|
||||
float angle_base = coords.y * pi * params.OriginalSize.y * period;
|
||||
|
||||
float lines = 1.0;
|
||||
|
||||
//1 - Generate base scanline.
|
||||
//0 - Generate base scanline.
|
||||
//1 - The base coords is switched from coords.y to coords.x if tate mode is requested.
|
||||
//2 - offset them on odd frames if needed (vScanlineAlternateOffset via vertex shader)
|
||||
//3 - Dont do it when the screen is interlaced and we have to skip drawing scanlines on interlaced screens.
|
||||
//3 - Dont do it when the screen is interlaced and we have to skip drawing scanlines on interlaced screens
|
||||
|
||||
//coords += params.OriginalSize.zw*0.5; //<-- this seems needed when using integer scaling
|
||||
//due to linear filtering in earlier pass FIXME don't forget me!
|
||||
coords = mix_step(coords.xy, coords.yx, tate);
|
||||
float originalsize = mix_step(params.OriginalSize.y, params.OriginalSize.x, tate);
|
||||
|
||||
float angle_base = coords.y * pi * originalsize * period;
|
||||
|
||||
|
||||
if (!( is_interlaced && SCANLINE_DISABLE_ON_INTERLACE == 1.0 )) {
|
||||
lines = pow( sin(angle_base + vScanlineAlternateOffset), 2.0);
|
||||
}
|
||||
|
@ -341,7 +445,7 @@ float fn_scanline_mask(vec2 coords, bool do_slotmask, float lum, float min_inLum
|
|||
if (do_slotmask) {
|
||||
float Darkline_part_w = (3.0 - VMASK_USE_GM + VMASK_GAP) * VMASK_DARKLINE_SCALE;
|
||||
float Darkline_part_w_x2 = Darkline_part_w*2;
|
||||
bool odd_column = mod(vFragCoord.x + Darkline_part_w , Darkline_part_w_x2) < Darkline_part_w;
|
||||
bool odd_column = mod(vFragCoord_Tated.x + Darkline_part_w , Darkline_part_w_x2) < Darkline_part_w;
|
||||
|
||||
if (SCANLINE_SM_TYPE == 1.0) {
|
||||
// Slotmask is out oh phase every "odd" triple and mixed with
|
||||
|
@ -416,12 +520,14 @@ float fn_scanline_mask(vec2 coords, bool do_slotmask, float lum, float min_inLum
|
|||
//Apply min brightness
|
||||
lines = lines * (1-SCANLINE_DARK ) + SCANLINE_DARK ;
|
||||
|
||||
|
||||
|
||||
return lines;
|
||||
}
|
||||
|
||||
float get_clamped_white_reference(vec3 pixel_in){
|
||||
float white_reference = max(max(pixel_in.r,pixel_in.g),pixel_in.b);
|
||||
white_reference = min(white_reference,1.0); //Clamp here for both vmask and darklines.
|
||||
// white_reference = min(white_reference,1.0); //Clamp here for both vmask and darklines.
|
||||
return white_reference;
|
||||
}
|
||||
|
||||
|
@ -545,7 +651,10 @@ vec2 get_scaled_coords_for_bezel() {
|
|||
//But still, i need to access it twice in the code.
|
||||
//So this is a function that ensures me that i always calc it the same way.
|
||||
|
||||
vec2 co = zoomout_coords(vTexCoord,-BEZEL_FRAME_ZOOM,1.0);
|
||||
vec2 co = vTexCoord;
|
||||
|
||||
co = zoomout_coords(co, -BEZEL_FRAME_ZOOM, 1.0);
|
||||
co.y = zoom1D(co.y, BEZEL_ASPECT_CORRECTION);
|
||||
|
||||
if (DO_TILT == 1.0)
|
||||
return tilt(co, vIsRotated, vec2(TILT_X, TILT_Y) * TILT_BEZEL_K);
|
||||
|
@ -601,6 +710,60 @@ vec3 ambi_blend_image(vec4 image, vec3 ambi) {
|
|||
return image.rgb;
|
||||
}
|
||||
|
||||
float gaussian_coefficient(float x, float sigma) {
|
||||
//restituisce un coefficiente gaussiano per x compreso tra 0 ed 1
|
||||
float coefficient = 1.0 / sqrt(2.0 * 3.14159265358979323846 * sigma);
|
||||
float exponent = -((x * x) / (2.0 * sigma));
|
||||
return coefficient * exp(exponent);
|
||||
}
|
||||
|
||||
vec3 boxed_blur_x(sampler2D tex, vec2 co, float box_size, vec4 output_size) {
|
||||
/* blur tex in boxes of width box_size.
|
||||
eg: box_size=4:
|
||||
in: [abcd][edgh][ijkl]...
|
||||
out [AVG1][AVG2][AVG3]
|
||||
were AVG is a gaussian blur applied to each 4 elements separately.
|
||||
*/
|
||||
|
||||
//The current pixel, x:
|
||||
float x = co.x/output_size.z;
|
||||
//The group x belongs to, g:
|
||||
float g = ceil(x/box_size);
|
||||
//The first element of the group, x0
|
||||
float x0 = box_size * (g-1);
|
||||
|
||||
//Init output color:
|
||||
vec3 c = vec3(0.0);
|
||||
|
||||
//We want a dumb arithmetic average?
|
||||
#define BOXB_DUMB 0.0
|
||||
//blurriness of output
|
||||
#define BOXB_SIGMA 0.5
|
||||
|
||||
//Iterate for every pixel in group:
|
||||
for (float xn = x0; xn < x0 + box_size; xn++) {
|
||||
//Normalize interval to 0..1 to get gauss coefficients afterwards
|
||||
float xn_normalizzato = normalize_range(xn, x0, x0 + (box_size-1));
|
||||
|
||||
//Get gauss coefficient
|
||||
float coefficient = 1.0;
|
||||
if (BOXB_DUMB == 0.0)
|
||||
coefficient = gaussian_coefficient(xn_normalizzato, BOXB_SIGMA);
|
||||
else
|
||||
coefficient = 1.0;
|
||||
|
||||
//Translate integer element to offset in 0..1 range:
|
||||
float off = params.OutputSize.z*xn;
|
||||
c = c + texture(tex, vec2(off,co.y) ).rgb * coefficient ;
|
||||
}
|
||||
//reduce gain (why on earth is needed for gauss?):
|
||||
if (BOXB_DUMB == 1.0)
|
||||
c = c/box_size;
|
||||
else
|
||||
c = c/(box_size * 0.4);
|
||||
return c;
|
||||
}
|
||||
|
||||
|
||||
vec3 fn_pixel_content(vec2 coords) {
|
||||
vec3 pixel_in;
|
||||
|
@ -614,6 +777,10 @@ vec3 fn_pixel_content(vec2 coords) {
|
|||
} else {
|
||||
pixel_in = texture(shift_and_bleed_pass,coords).rgb ;
|
||||
}
|
||||
|
||||
|
||||
//pixel_in = boxed_blur_x(shift_and_bleed_pass, coords, params.OutputSize.x / params.OriginalSize.y, params.OutputSize);
|
||||
|
||||
pixel_bleed = pixel_in;
|
||||
|
||||
vec3 pixel_out = pixel_in;
|
||||
|
@ -649,19 +816,29 @@ vec3 fn_pixel_content(vec2 coords) {
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
float scanline_or_dot_mat = 1.0; //init dot grid or scanline mask to 1.0
|
||||
|
||||
//Dot mask
|
||||
if (DO_DOT_MATRIX == 1.0) {
|
||||
vec4 pixel_grid_mask = fn_pixel_dotmat(coords, pixel_out);
|
||||
//grid mask only is needed by halo to selectively light the grid.
|
||||
scanline_or_dot_mat = pixel_grid_mask.a;
|
||||
//rgb channel goes to pixel_out
|
||||
pixel_out = pixel_grid_mask.rgb;
|
||||
}
|
||||
|
||||
//Scanlines (non-flickering)
|
||||
float scanline_mask = 1.0;
|
||||
if ( DO_SCANLINES == 1.0 ) {
|
||||
//Obtain a scanlined screen by multiplying the scanline mask and the pixel color.
|
||||
|
||||
float lum = max(max(pixel_out.r, pixel_out.g), pixel_out.b);
|
||||
|
||||
//The maximum possible brightness of the input color modified by glow,contrast and brightness.
|
||||
float max_inLum = vMax_inLum;
|
||||
float min_inLum = 0.0;
|
||||
scanline_mask = fn_scanline_mask(coords, SCANLINE_SM_TYPE > 0.0, lum, min_inLum, max_inLum );
|
||||
float scanline_mask = fn_scanline_mask(coords, SCANLINE_SM_TYPE > 0.0, lum, 0.0, vMax_inLum, vDo_Tate );
|
||||
pixel_out = min(pixel_out, 1.0) * ( scanline_mask + ( pixel_bleed * SCANLINES_BLEEDING * ( 1 - scanline_mask ) ));
|
||||
//Since scanlines and dot matrix are alternative and halo can white both, just use a single var for both:
|
||||
scanline_or_dot_mat = scanline_mask;
|
||||
}
|
||||
|
||||
|
||||
|
@ -671,9 +848,9 @@ vec3 fn_pixel_content(vec2 coords) {
|
|||
if (DO_HALO == 1.0 ) {
|
||||
pixel_haloed = texture(halo_pass,coords).rgb;
|
||||
//Halo only on scanlines:
|
||||
pixel_out += pixel_haloed * scanline_mask ;
|
||||
pixel_out += pixel_haloed * scanline_or_dot_mat ;
|
||||
//Halo over scanlines gap too:
|
||||
pixel_out += pixel_haloed * (HALO_VS_SCAN) * (1 - scanline_mask) ;
|
||||
pixel_out += pixel_haloed * (HALO_VS_SCAN) * (1 - scanline_or_dot_mat) ;
|
||||
|
||||
}
|
||||
|
||||
|
@ -722,20 +899,19 @@ vec4 fn_pixel_bezel(vec2 coords_for_bezel, vec2 coords_for_mirror, float nightif
|
|||
) return vec4(0.0);
|
||||
|
||||
vec4 bezel_in;
|
||||
//Sample main bezel texture, Do we want mipmaps?
|
||||
#ifdef STATIC_BEZEL_USE_MIPMAP
|
||||
vec2 bezel_lut_size = textureSize(monitor_body_curved,0); //no need to branch here if we assume straight and curved textures are the same size. //FIXME?
|
||||
float bezel_frame_lod = log2(bezel_lut_size.y * (BEZEL_FRAME_ZOOM+1.0) /global.FinalViewportSize.y);
|
||||
if (BEZEL_USE_STRAIGHT < 0.5)
|
||||
bezel_in = textureLod(monitor_body_curved,coords_for_bezel,bezel_frame_lod);
|
||||
else
|
||||
bezel_in = textureLod(monitor_body_straight,coords_for_bezel,bezel_frame_lod);
|
||||
|
||||
//Sample main bezel texture:
|
||||
#ifndef BEZEL_RES
|
||||
vec2 bezel_lut_size = textureSize(monitor_body_curved, 0); //no need to branch here if we assume straight and curved textures are the same size. //FIXME?
|
||||
#else
|
||||
if (BEZEL_USE_STRAIGHT < 0.5)
|
||||
bezel_in = texture(monitor_body_curved,coords_for_bezel);
|
||||
else
|
||||
bezel_in = texture(monitor_body_straight,coords_for_bezel);
|
||||
vec2 bezel_lut_size = BEZEL_RES;
|
||||
#endif
|
||||
float bezel_frame_lod = log2(bezel_lut_size.y * (BEZEL_FRAME_ZOOM+1.0) /global.FinalViewportSize.y);
|
||||
|
||||
if (BEZEL_USE_STRAIGHT < 0.5)
|
||||
bezel_in = textureLod(monitor_body_curved,coords_for_bezel,bezel_frame_lod);
|
||||
else
|
||||
bezel_in = textureLod(monitor_body_straight,coords_for_bezel,bezel_frame_lod);
|
||||
|
||||
|
||||
//Exit if the bezel is completely transparent (the tube)
|
||||
|
@ -808,13 +984,8 @@ void main() {
|
|||
}
|
||||
|
||||
|
||||
//Calc initial content coords
|
||||
//Initial content coords
|
||||
vec2 co_content = vTexCoord;
|
||||
if (DO_CURVATURE == 1.0 && ((GEOM_WARP_X != 0.0) || (GEOM_WARP_Y != 0.0))) {
|
||||
co_content = Warp_fast(co_content, vWarp_vexp, vWarp_arg2, GEOM_CUT_EARS);
|
||||
//co_content = Warp(co_content, GEOM_WARP_X, GEOM_WARP_Y);
|
||||
}
|
||||
|
||||
|
||||
//Tilt?
|
||||
if (DO_TILT == 1.0)
|
||||
|
@ -823,14 +994,19 @@ void main() {
|
|||
|
||||
//Precalc Bezel coords, since it modifies content coords.
|
||||
vec2 co_bezel = vec2(0.0);
|
||||
vec2 co_mirror;
|
||||
if (DO_BEZEL == 1.0) {
|
||||
co_content = zoomout_coords(co_content, -vBEZEL_INNER_ZOOM_adapted , 1.0);
|
||||
co_mirror = zoom(co_content, 1/BEZEL_REFL_ZOOMOUT_ROOM);
|
||||
co_bezel = get_scaled_coords_for_bezel();
|
||||
}
|
||||
|
||||
|
||||
//Curvature
|
||||
//Curvature has to come after inner zoom or bezel curved border will not match content
|
||||
//curved border when inner zoom changes.
|
||||
if (DO_CURVATURE == 1.0 && ((GEOM_WARP_X != 0.0) || (GEOM_WARP_Y != 0.0))) {
|
||||
co_content = Warp_fast(co_content, vWarp_vexp, vWarp_arg2, GEOM_CUT_EARS);
|
||||
}
|
||||
|
||||
//Apply other content coords modifiers
|
||||
if (DO_GAME_GEOM_OVERRIDE == 1.0)
|
||||
co_content = content_geom_override(co_content, GAME_GEOM_ASPECT, vIn_aspect, GAME_GEOM_VSHIFT, GAME_GEOM_HSHIFT, GAME_GEOM_ZOOM);
|
||||
|
@ -856,6 +1032,7 @@ void main() {
|
|||
vec4 pixel_bezel;
|
||||
//SKIP LOGIC is inside fn_pixel_bezel
|
||||
if (DO_BEZEL == 1.0) {
|
||||
vec2 co_mirror = zoom(co_content, 1/BEZEL_REFL_ZOOMOUT_ROOM);
|
||||
pixel_bezel = fn_pixel_bezel(co_bezel, co_mirror, BG_IMAGE_NIGHTIFY);
|
||||
//If we used a smooth_border, canvas_busy is it, but since the content is in the bezel,
|
||||
//we can safely use it to smooth/darken the game border
|
||||
|
@ -925,9 +1102,9 @@ void main() {
|
|||
|
||||
//For debug purposes:
|
||||
//quad split screen
|
||||
//if ( (vOutputCoord.x < 0.5 && vOutputCoord.y > 0.5) || (vOutputCoord.x > 0.5 && vOutputCoord.y < 0.5) ) pixel_out = texture(first_pass,vOutputCoord).rgb;
|
||||
//if ( (vOutputCoord.x < 0.5 && vOutputCoord.y > 0.5) || (vOutputCoord.x > 0.5 && vOutputCoord.y < 0.5) ) pixel_out = texture(flick_and_noise_pass,vOutputCoord).rgb;
|
||||
//split screen
|
||||
//if (vTexCoord.y < 0.5) pixel_out = texture(first_pass,vTexCoord).rgb;
|
||||
//if (vTexCoord.y < 0.5) pixel_out = texture(flick_and_noise_pass,vTexCoord).rgb;
|
||||
//pixel_out = texture(reflected_blurred_pass, vTexCoord).rgb;
|
||||
|
||||
|
||||
|
|
|
@ -90,13 +90,15 @@ void debug() {
|
|||
|
||||
//pixel_debug=vec3(abs(sin(params.FrameCount/3.14/20)),0.0,0.0); //red fade
|
||||
|
||||
pixel_debug=vec3(1.0);
|
||||
|
||||
|
||||
//pixel_debug=vec3(0.0,1.0,0.0);
|
||||
|
||||
//pixel_debug=vec3(0.38,0.0,1.0)*vTexCoord.x;
|
||||
|
||||
//pixel_debug=vec3(vTexCoord.x); //H bw gradient
|
||||
pixel_debug=vec3(vTexCoord.x); //H bw gradient
|
||||
|
||||
//pixel_debug=vec3(1.0); //H bw gradient
|
||||
|
||||
//pixel_debug=vec3(floor(vTexCoord.x*16)/16); //H bw gradient 16gray
|
||||
|
|
@ -263,14 +263,14 @@ void main()
|
|||
#pragma stage fragment
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
layout(set = 0, binding = 2) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 2) uniform sampler2D flick_and_noise_pass;
|
||||
|
||||
void main() {
|
||||
if ( DO_FXAA == 0.0 ) return;
|
||||
|
||||
//Here lies the blur modifier from ntsc pass to glow.
|
||||
//I'm not expecting any performance hit, since the lookup should have been cached alreadyl
|
||||
float pixel_alpha = texture(first_pass, vTexCoord).a;
|
||||
float pixel_alpha = texture(flick_and_noise_pass, vTexCoord).a;
|
||||
|
||||
FragColor = vec4(FxaaPixelShader(vTexCoord, first_pass, vec2(global.first_passSize.z, global.first_passSize.w)),pixel_alpha);
|
||||
FragColor = vec4(FxaaPixelShader(vTexCoord, flick_and_noise_pass, vec2(global.flick_and_noise_passSize.z, global.flick_and_noise_passSize.w)),pixel_alpha);
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ void main() {
|
|||
return;
|
||||
}
|
||||
|
||||
pixel_haloed = blur9_y(Source, vTexCoord, global.first_passSize.xy, vHALO_H) * HALO_POWER;
|
||||
pixel_haloed = blur9_y(Source, vTexCoord, global.flick_and_noise_passSize.xy, vHALO_H) * HALO_POWER;
|
||||
FragColor = vec4(pixel_haloed.rgb,1.0);
|
||||
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ void main() {
|
|||
//Make it resolution independent.
|
||||
IN_GLOW_W_ADAPTED = IN_GLOW_W_ADAPTED / NEW_SCALEMOD_X;
|
||||
|
||||
FragColor = vec4( blur9_x(shift_and_bleed_pass, vTexCoord, global.first_passSize.xy, IN_GLOW_W_ADAPTED), 1.0);
|
||||
FragColor = vec4( blur9_x(shift_and_bleed_pass, vTexCoord, global.flick_and_noise_passSize.xy, IN_GLOW_W_ADAPTED), 1.0);
|
||||
|
||||
//To debug ntsc artifacts mask:
|
||||
if (IN_GLOW_SHOW_ARTF_MASK > 0.5)
|
||||
|
|
|
@ -8,6 +8,10 @@
|
|||
return (a * (1 - mix)) +
|
||||
(b * mix) ;
|
||||
}
|
||||
vec3 mix_step3(vec3 a, vec3 b, float mix){
|
||||
return (a * (1 - mix)) +
|
||||
(b * mix) ;
|
||||
}
|
||||
vec4 mix_step(vec4 a, vec4 b, float mix){
|
||||
return (a * (1 - mix)) +
|
||||
(b * mix) ;
|
||||
|
@ -178,6 +182,10 @@ float map_range(float value, float min_in, float max_in, float min_out, float ma
|
|||
return min_out + (value - min_in) * (max_out - min_out) / (max_in - min_in);
|
||||
}
|
||||
|
||||
float normalize_range(float value, float min_in, float max_in) {
|
||||
//Scales value in [min_in - max_in] to 0..1
|
||||
return (value - min_in) / (max_in - min_in);
|
||||
}
|
||||
|
||||
vec3 apply_contrast_brightness(vec3 c, float contrast, float brightness) {
|
||||
return scale_to_range_vec3(c, -contrast, 1+contrast) + brightness;
|
||||
|
@ -420,13 +428,16 @@ vec2 Warp_try(vec2 pos, float warpX, float warpY) {
|
|||
return scale_coord;
|
||||
}
|
||||
|
||||
vec2 integer_scale(vec2 in_coords, float target_aspect, bool is_rotated) {
|
||||
vec2 izoom;
|
||||
|
||||
vec2 integer_scale(vec2 in_coords, float target_aspect, bool is_rotated, float uncorrected_aspect) {
|
||||
|
||||
float raw_in_aspect = params.OriginalSize.x/params.OriginalSize.y;
|
||||
float adapted_aspect = target_aspect /raw_in_aspect;
|
||||
in_coords.x = zoom1D(in_coords.x, adapted_aspect);
|
||||
float adapted_aspect = target_aspect / raw_in_aspect;
|
||||
|
||||
//Keep aspect?
|
||||
adapted_aspect = mix_step(adapted_aspect, 1.0, uncorrected_aspect);
|
||||
in_coords.x = zoom1D(in_coords.x, adapted_aspect);
|
||||
|
||||
vec2 izoom;
|
||||
if (!is_rotated) {
|
||||
//This is 1X integer zoom:
|
||||
izoom = params.OriginalSize.xy / global.FinalViewportSize.xy;
|
||||
|
@ -436,31 +447,30 @@ vec2 Warp_try(vec2 pos, float warpX, float warpY) {
|
|||
izoom *= int_zoom;
|
||||
} else {
|
||||
izoom = params.OriginalSize.xy / global.FinalViewportSize.yx;
|
||||
float int_zoom = floor(global.FinalViewportSize.y / (params.OriginalSize.x*adapted_aspect) );
|
||||
float int_zoom = floor(global.FinalViewportSize.y / (params.OriginalSize.x * adapted_aspect) );
|
||||
int_zoom = clamp(int_zoom, 1.0, GAME_GEOM_INT_SCALE_MAX);
|
||||
izoom *= int_zoom;
|
||||
}
|
||||
return zoomxy(in_coords, izoom);
|
||||
}
|
||||
|
||||
bool need_NO_integer_scale() {
|
||||
//returns if no integer scaling is requested.
|
||||
return DO_GAME_GEOM_OVERRIDE * GAME_GEOM_INT_SCALE == 0.0;
|
||||
}
|
||||
|
||||
bool need_integer_scale() {
|
||||
//return if integer scaling is requested.
|
||||
//return DO_GAME_GEOM_OVERRIDE == 1.0 && GAME_GEOM_INT_SCALE > 0.01;
|
||||
return DO_GAME_GEOM_OVERRIDE * GAME_GEOM_INT_SCALE != 0.0;
|
||||
}
|
||||
|
||||
|
||||
float get_BEZEL_INNER_ZOOM() {
|
||||
/*if (GAME_GEOM_INT_SCALE == 1.0 && DO_GAME_GEOM_OVERRIDE == 1.0)
|
||||
return 0.0;
|
||||
else
|
||||
return BEZEL_INNER_ZOOM;
|
||||
*/
|
||||
//unbranched versions:
|
||||
return BEZEL_INNER_ZOOM * (1 - DO_GAME_GEOM_OVERRIDE * GAME_GEOM_INT_SCALE);
|
||||
|
||||
//117.2
|
||||
//return BEZEL_INNER_ZOOM * float( GAME_GEOM_INT_SCALE != 1.0 || DO_GAME_GEOM_OVERRIDE != 1.0 );
|
||||
//Disables bezel inner zoom when using integer scaling
|
||||
return BEZEL_INNER_ZOOM * float( !need_integer_scale() );
|
||||
}
|
||||
|
||||
bool do_integer_scale() {
|
||||
return DO_GAME_GEOM_OVERRIDE == 1.0 && GAME_GEOM_INT_SCALE == 1.0;
|
||||
}
|
||||
|
||||
|
||||
vec2 content_geom_override(vec2 co, float aspect, float in_aspect, float vshift, float hshift, float out_zoom){
|
||||
//Aspect
|
||||
//float bUse_original_aspect = float(aspect < 0.01);
|
||||
|
@ -679,3 +689,75 @@ bool is_first_inside_rect(vec2 point, vec4 rect) {
|
|||
return (point.x >= rect.x && point.x < rect.z &&
|
||||
point.y >= rect.y && point.y < rect.w) ;
|
||||
}
|
||||
|
||||
// COLOR TOOLS
|
||||
vec3 kelvin2rgb(float k) {
|
||||
//Convert kelvin temperature to rgb factors
|
||||
k = clamp(k,1000,40000);
|
||||
k=k/100.0;
|
||||
float tmpCalc;
|
||||
vec3 pixel_out;
|
||||
if (k<=66) {
|
||||
pixel_out.r = 255;
|
||||
pixel_out.g = 99.47080258612 * log(k) - 161.11956816610;
|
||||
} else {
|
||||
pixel_out.r = 329.6987274461 * pow(k - 60 ,-0.13320475922);
|
||||
pixel_out.g = 288.12216952833 * pow(k-60, -0.07551484921);
|
||||
}
|
||||
|
||||
if (k >= 66)
|
||||
pixel_out.b = 255;
|
||||
else if (k<=19)
|
||||
pixel_out.b = 0;
|
||||
else
|
||||
pixel_out.b = 138.51773122311 * log(k - 10) - 305.04479273072;
|
||||
|
||||
return pixel_out/255.0;
|
||||
}
|
||||
|
||||
#define W vec3(0.2125, 0.7154, 0.0721)
|
||||
vec3 color_tools(vec3 pixel_out, vec3 Temperature_rgb) {
|
||||
//Apply color corrections to input signal.
|
||||
|
||||
//Push luminance without clipping
|
||||
pixel_out = pixel_push_luminance(pixel_out,LUMINANCE);
|
||||
|
||||
//Modify contrast and brightness
|
||||
if (CONTRAST != 0.0 || BRIGHTNESS != 0.0)
|
||||
pixel_out.rgb = apply_contrast_brightness(pixel_out.rgb, CONTRAST, BRIGHTNESS);
|
||||
|
||||
//Modify color temperature
|
||||
if (TEMPERATURE != 6500.0) pixel_out.rgb = pixel_out.rgb * Temperature_rgb;
|
||||
|
||||
//Colorization for monochrome display on hsv colorspace.
|
||||
//Select different hues for dark and bright pixels and mix them depending on the brightness
|
||||
if (COLOR_MONO_COLORIZE > 0.01) {
|
||||
vec3 pixel_grayscale = vec3(dot(pixel_out.rgb, W));
|
||||
vec3 pixel_in_hsv = rgb2hsv(pixel_grayscale); //FIXME needed? yes, checked.
|
||||
float lum = pixel_in_hsv.z * pixel_in_hsv.z; //<-- looks way better!
|
||||
vec2 bias = mix_step( vec2(0.0, COLOR_MONO_HUE_BIAS), vec2(COLOR_MONO_HUE_BIAS, 0.0), float(COLOR_MONO_HUE_BIAS > 0.0));
|
||||
bias = abs(bias);
|
||||
|
||||
lum=scale_to_range(lum, 0.0-bias.x, 1.0+bias.y);
|
||||
pixel_in_hsv.y=1.0; //sat
|
||||
|
||||
//Mix hues in rgb colorspace:
|
||||
vec3 pixel_rgb_hue1 = hsv2rgb( vec3(COLOR_MONO_HUE1, 1.0, pixel_in_hsv.z ) );
|
||||
vec3 pixel_rgb_hue2 = hsv2rgb( vec3(COLOR_MONO_HUE2, 1.0, pixel_in_hsv.z ) );
|
||||
vec3 pixel_rgb_hue12 = mix(pixel_rgb_hue2, pixel_rgb_hue1, vec3(lum));
|
||||
//Mix original and colorized with a specified strength
|
||||
pixel_out = mix(pixel_out, pixel_rgb_hue12, COLOR_MONO_COLORIZE);
|
||||
|
||||
|
||||
//pixel_in_hsv.x = mix(COLOR_MONO_HUE2, COLOR_MONO_HUE1, lum); //hue
|
||||
//pixel_out = mix(pixel_out, hsv2rgb(pixel_in_hsv), COLOR_MONO_COLORIZE);pk
|
||||
}
|
||||
|
||||
//Modify saturation
|
||||
if (!(SATURATION == 1.0)) {
|
||||
vec3 intensity = vec3(dot(pixel_out.rgb, W));
|
||||
pixel_out.rgb = mix(intensity, pixel_out.rgb, SATURATION);
|
||||
}
|
||||
|
||||
return pixel_out;
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ layout(location = 0) in vec2 vTexCoord;
|
|||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
layout(set = 0, binding = 1) uniform sampler2D Source;
|
||||
layout(set = 0, binding = 2) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 2) uniform sampler2D flick_and_noise_pass;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
|
@ -70,7 +70,7 @@ void main() {
|
|||
vec3 pixel_out = mix(s1, s2, lodmix) * BEZEL_REFL_STRENGTH;
|
||||
|
||||
//Next simulate a diffused light
|
||||
vec3 pixel_diffused = textureLod( first_pass, coords, 6.0).rgb;
|
||||
vec3 pixel_diffused = textureLod( flick_and_noise_pass, coords, 6.0).rgb;
|
||||
pixel_out = mix( pixel_out, pixel_diffused, BEZEL_DIFFUSION_STR);
|
||||
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ layout(location = 1) in vec2 vCoordsAdapted;
|
|||
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
layout(set = 0, binding = 1) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 1) uniform sampler2D flick_and_noise_pass;
|
||||
layout(set = 0, binding = 2) uniform sampler2D avglum_pass;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
@ -54,7 +54,7 @@ void main() {
|
|||
}
|
||||
|
||||
|
||||
FragColor = texture(first_pass, coords);
|
||||
FragColor = texture(flick_and_noise_pass, coords);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -7,9 +7,10 @@
|
|||
layout(location = 0) in vec4 Position;
|
||||
layout(location = 1) in vec2 TexCoord;
|
||||
layout(location = 0) out vec2 vTexCoord;
|
||||
layout(location = 1) out vec2 r_offset;
|
||||
layout(location = 2) out vec2 g_offset;
|
||||
layout(location = 3) out vec2 b_offset;
|
||||
layout(location = 1) out vec2 vR_offset;
|
||||
layout(location = 2) out vec2 vG_offset;
|
||||
layout(location = 3) out vec2 vB_offset;
|
||||
layout(location = 4) out float vDo_shadow_mode;
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
|
||||
|
@ -17,25 +18,35 @@ void main()
|
|||
{
|
||||
gl_Position = global.MVP * Position;
|
||||
vTexCoord = TexCoord ;
|
||||
if (DO_SHIFT_RGB == 1.0) {
|
||||
r_offset=offsets_from_float(SHIFT_R+210.0,RGB_SHIFT_RANGE);
|
||||
g_offset=offsets_from_float(SHIFT_G+210.0,RGB_SHIFT_RANGE);
|
||||
b_offset=offsets_from_float(SHIFT_B+210.0,RGB_SHIFT_RANGE);
|
||||
|
||||
//...to tell fragment shader if dot matrix feature requests shadows.
|
||||
vDo_shadow_mode = float(DOT_M_SHADOW_STR + DO_DOT_MATRIX > 1 + eps);
|
||||
|
||||
//Shadow mode disables deconvergence, they do not coexist in real life.
|
||||
if (vDo_shadow_mode == 1.0) {
|
||||
vR_offset = vec2(DOT_M_SHADOW_OFF, abs(DOT_M_SHADOW_OFF));
|
||||
vG_offset = vR_offset;
|
||||
vB_offset = vR_offset;
|
||||
} else if (DO_SHIFT_RGB == 1.0) {
|
||||
vR_offset=offsets_from_float(SHIFT_R+210.0,RGB_SHIFT_RANGE);
|
||||
vG_offset=offsets_from_float(SHIFT_G+210.0,RGB_SHIFT_RANGE);
|
||||
vB_offset=offsets_from_float(SHIFT_B+210.0,RGB_SHIFT_RANGE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#pragma stage fragment
|
||||
|
||||
#include "includes/functions.include.slang"
|
||||
layout(location = 0) in vec2 vTexCoord;
|
||||
layout(location = 1) in vec2 r_offset;
|
||||
layout(location = 2) in vec2 g_offset;
|
||||
layout(location = 3) in vec2 b_offset;
|
||||
layout(location = 1) in vec2 vR_offset;
|
||||
layout(location = 2) in vec2 vG_offset;
|
||||
layout(location = 3) in vec2 vB_offset;
|
||||
layout(location = 4) in float vDo_shadow_mode;
|
||||
|
||||
layout(location = 0) out vec4 FragColor;
|
||||
|
||||
layout(set = 0, binding = 3) uniform sampler2D FXAA_pass;
|
||||
layout(set = 0, binding = 4) uniform sampler2D first_pass;
|
||||
layout(set = 0, binding = 4) uniform sampler2D flick_and_noise_pass;
|
||||
|
||||
|
||||
#define bandwidth_mhz_Y_ntsc 4.2
|
||||
|
@ -69,28 +80,37 @@ const mat3 mat3_YUV2RGB = mat3(
|
|||
|
||||
|
||||
|
||||
vec3 pixel_offset(vec3 pixel_cur,vec2 coord, sampler2D in_texture, vec4 sourcesize2) {
|
||||
vec3 deconvergence_shadow(vec3 pixel_cur,vec2 coord, sampler2D in_texture, vec4 sourcesize2) {
|
||||
//Emulates deconvergence or shadowing for dot matrix screens like Gameboy.
|
||||
//Since both effects should not coexist in real life, we use a singe function for both.
|
||||
//The function stays more or less the same, but rgb offsets calculated in vertex shader
|
||||
//will be the same for shadow mode. Hopefully shader texture cache will take care of
|
||||
//multiple sampling for the same tex coords.
|
||||
|
||||
vec2 d = -vec2(sourcesize2.z, sourcesize2.w)*0.5;
|
||||
vec3 pixel_offset;
|
||||
pixel_offset.r=texture(in_texture,coord + r_offset * d).r;
|
||||
pixel_offset.g=texture(in_texture,coord + g_offset * d).g;
|
||||
pixel_offset.b=texture(in_texture,coord + b_offset * d).b;
|
||||
return mix(pixel_cur,pixel_offset,OFFSET_STRENGTH);
|
||||
/* why did i make this? commit message : https://github.com/kokoko3k/koko-aio-slang/commit/843d71af40d32c2e2b088a71bf3ad18683812a98
|
||||
* does not help...
|
||||
vec3 color_difformity = vec3(pixel_offset.r-pixel_cur.r, +pixel_offset.g-pixel_cur.g, pixel_offset.b - pixel_cur.b);
|
||||
vec3 pixel_offset_to_add = pixel_offset * color_difformity;
|
||||
return pixel_cur + (pixel_offset_to_add *OFFSET_STRENGTH);
|
||||
//return pixel_cur + (pixel_offset *OFFSET_STRENGTH*color_difformity);
|
||||
*/
|
||||
|
||||
pixel_offset.r=texture(in_texture,coord + vR_offset * d).r;
|
||||
pixel_offset.g=texture(in_texture,coord + vG_offset * d).g;
|
||||
pixel_offset.b=texture(in_texture,coord + vB_offset * d).b;
|
||||
|
||||
vec3 deconvergence_mode = mix(pixel_cur, pixel_offset, OFFSET_STRENGTH);
|
||||
vec3 shadow_mode = pixel_cur - max( (pixel_cur - pixel_offset), vec3(0.0) ) * DOT_M_SHADOW_STR;
|
||||
|
||||
return mix_step(deconvergence_mode, shadow_mode, vDo_shadow_mode);
|
||||
|
||||
|
||||
//Shadow mode:
|
||||
//return pixel_cur -
|
||||
// max( (pixel_cur - pixel_offset), vec3(0.0) ) * OFFSET_STRENGTH;
|
||||
}
|
||||
|
||||
|
||||
vec3 pixel_offset_wrap (vec2 coord) {
|
||||
vec3 deconvergence_shadow_wrap (vec2 coord) {
|
||||
if ( DO_FXAA == 1.0) {
|
||||
return pixel_offset(texture(FXAA_pass, vTexCoord).rgb, vTexCoord, FXAA_pass, global.FXAA_passSize);
|
||||
return deconvergence_shadow(texture(FXAA_pass, vTexCoord).rgb, vTexCoord, FXAA_pass, global.FXAA_passSize);
|
||||
} else {
|
||||
return pixel_offset(texture(first_pass, vTexCoord).rgb, vTexCoord, first_pass, global.first_passSize);
|
||||
return deconvergence_shadow(texture(flick_and_noise_pass, vTexCoord).rgb, vTexCoord, flick_and_noise_pass, global.flick_and_noise_passSize);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -103,7 +123,7 @@ vec3 pixel_bleed_side_NTSC(vec3 pixel_in, vec2 co, float size, float side, sampl
|
|||
w=w/SAT_BLEED_FALLOFF;
|
||||
//w = w * exp(i*i*(1-SAT_BLEED_FALLOFF)*0.1);
|
||||
//w=clamp(w,0.0,1.0);
|
||||
vec3 smp_YIQ = texture(first_pass, co - side * vec2(sourcesize2.z*i,0.0)).rgb * mat3_RGB2YIQ;
|
||||
vec3 smp_YIQ = texture(flick_and_noise_pass, co - side * vec2(sourcesize2.z*i,0.0)).rgb * mat3_RGB2YIQ;
|
||||
blur_YIQ.x = mix(blur_YIQ.x, smp_YIQ.x, w/bandwidth_mhz_Y_ntsc); // Blur Y
|
||||
blur_YIQ.y = mix(blur_YIQ.y, smp_YIQ.y, w/bandwidth_mhz_I ); // Blur I
|
||||
blur_YIQ.z = mix(blur_YIQ.z, smp_YIQ.z, w/bandwidth_mhz_Q ); // BlurQ
|
||||
|
@ -122,7 +142,7 @@ vec3 pixel_bleed_side_PAL(vec3 pixel_in, vec2 co, float size, float side, sample
|
|||
for ( i=1 ; i <= size ; i++ ){
|
||||
w=w/SAT_BLEED_FALLOFF;
|
||||
//w=clamp(w,0.0,1.0);
|
||||
vec3 smp_YUV = texture(first_pass, co - side * vec2(sourcesize2.z*i,0.0)).rgb * mat3_RGB2YUV;
|
||||
vec3 smp_YUV = texture(flick_and_noise_pass, co - side * vec2(sourcesize2.z*i,0.0)).rgb * mat3_RGB2YUV;
|
||||
blur_YUV.x = mix(blur_YUV.x, smp_YUV.x, w/bandwidth_mhz_Y_pal); // Blur Y
|
||||
blur_YUV.y = mix(blur_YUV.y, smp_YUV.y, w/bandwidth_mhz_U ); // Blur U
|
||||
blur_YUV.z = mix(blur_YUV.z, smp_YUV.z, w/bandwidth_mhz_V ); // Blur V
|
||||
|
@ -154,21 +174,21 @@ void main() {
|
|||
vec3 pixel_out;
|
||||
//Handle case where both are needed:
|
||||
//First shift the right source, then pass it to bleed function.
|
||||
if (DO_SHIFT_RGB + DO_SAT_BLEED > 1.0) {
|
||||
pixel_out = pixel_offset_wrap(vTexCoord);
|
||||
if (DO_SHIFT_RGB + DO_SAT_BLEED > 1.0 || DOT_M_SHADOW_STR > 0.0 ) {
|
||||
pixel_out = deconvergence_shadow_wrap(vTexCoord);
|
||||
if (DO_SAT_BLEED > 0.0) {
|
||||
if ( DO_FXAA == 1.0) {
|
||||
pixel_out = pixel_bleed(pixel_out, vTexCoord, FXAA_pass, global.FXAA_passSize);
|
||||
pixel_alpha_ntsc_artifacts = texture(FXAA_pass, vTexCoord).a;
|
||||
} else {
|
||||
pixel_out = pixel_bleed(pixel_out, vTexCoord, first_pass, global.first_passSize);
|
||||
pixel_alpha_ntsc_artifacts = texture(first_pass, vTexCoord).a;
|
||||
pixel_out = pixel_bleed(pixel_out, vTexCoord, flick_and_noise_pass, global.flick_and_noise_passSize);
|
||||
pixel_alpha_ntsc_artifacts = texture(flick_and_noise_pass, vTexCoord).a;
|
||||
}
|
||||
}
|
||||
} else
|
||||
//Handle case where only color shifting is requested
|
||||
if (DO_SHIFT_RGB > 0.0) {
|
||||
pixel_out = pixel_offset_wrap(vTexCoord);
|
||||
if (DO_SHIFT_RGB > 0.0 || DOT_M_SHADOW_STR > 0.0) {
|
||||
pixel_out = deconvergence_shadow_wrap(vTexCoord);
|
||||
} else
|
||||
if (DO_SAT_BLEED > 0.0) {
|
||||
//Handle case where only chroma bleed is requested
|
||||
|
@ -178,9 +198,9 @@ void main() {
|
|||
pixel_out = pixel_bleed(pixel_out, vTexCoord, FXAA_pass, global.FXAA_passSize);
|
||||
|
||||
} else {
|
||||
pixel_out = texture(first_pass, vTexCoord).rgb;
|
||||
pixel_alpha_ntsc_artifacts = texture(first_pass, vTexCoord).a;
|
||||
pixel_out = pixel_bleed(pixel_out, vTexCoord, first_pass, global.first_passSize);
|
||||
pixel_out = texture(flick_and_noise_pass, vTexCoord).rgb;
|
||||
pixel_alpha_ntsc_artifacts = texture(flick_and_noise_pass, vTexCoord).a;
|
||||
pixel_out = pixel_bleed(pixel_out, vTexCoord, flick_and_noise_pass, global.flick_and_noise_passSize);
|
||||
}
|
||||
} else
|
||||
//Passthrough
|
||||
|
@ -188,8 +208,8 @@ void main() {
|
|||
pixel_out = texture(FXAA_pass, vTexCoord).rgb;
|
||||
pixel_alpha_ntsc_artifacts = texture(FXAA_pass, vTexCoord).a;
|
||||
} else {
|
||||
pixel_out = texture(first_pass, vTexCoord).rgb;
|
||||
pixel_alpha_ntsc_artifacts = texture(first_pass, vTexCoord).a;
|
||||
pixel_out = texture(flick_and_noise_pass, vTexCoord).rgb;
|
||||
pixel_alpha_ntsc_artifacts = texture(flick_and_noise_pass, vTexCoord).a;
|
||||
}
|
||||
|
||||
//pre-gamma if needed by glow.
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 257 KiB After Width: | Height: | Size: 271 KiB |
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -188,9 +188,9 @@ scale_type_y16 = "viewport"
|
|||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
SATURATION = "1.050000"
|
||||
DO_FXAA = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
|
@ -212,19 +212,19 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SIZE = "0.010000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.160000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -188,8 +188,8 @@ scale_type_y16 = "viewport"
|
|||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
CONTRAST = "0.050000"
|
||||
BRIGHTNESS = "0.050000"
|
||||
CONTRAST = "0.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.560000"
|
||||
DO_NTSC_ARTIFACTS = "1.000000"
|
||||
|
@ -208,25 +208,25 @@ DO_VMASK_AND_DARKLINES = "1.000000"
|
|||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
DARKLINES_STRENGTH = "1.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_MAX = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.500000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.900000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_MAX = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.550000"
|
||||
BLOOM_EYE_ADPT_SRT = "0.800000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.011000"
|
||||
BEZEL_INNER_ZOOM = "-0.013000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_R = "-0.190000"
|
||||
BEZEL_G = "-0.190000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -188,8 +188,8 @@ scale_type_y16 = "viewport"
|
|||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.200000"
|
||||
CONTRAST = "0.050000"
|
||||
BRIGHTNESS = "0.050000"
|
||||
CONTRAST = "0.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.560000"
|
||||
DO_NTSC_ARTIFACTS = "1.000000"
|
||||
|
@ -212,25 +212,25 @@ DO_VMASK_AND_DARKLINES = "1.000000"
|
|||
RGB_MASK_STRENGTH = "1.000000"
|
||||
VMASK_USE_GM = "1.000000"
|
||||
DARKLINES_STRENGTH = "1.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_MAX = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.500000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.900000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_MAX = "1.000000"
|
||||
SCANLINE_SM_VOFFSET = "70.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.550000"
|
||||
BLOOM_EYE_ADPT_SRT = "0.800000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.011000"
|
||||
BEZEL_INNER_ZOOM = "-0.013000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_R = "-0.190000"
|
||||
BEZEL_G = "-0.190000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -211,25 +211,25 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_DARK = "0.100000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.500000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_DARK = "0.100000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.550000"
|
||||
BLOOM_EYE_ADPT_SRT = "0.800000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.011000"
|
||||
BEZEL_INNER_ZOOM = "-0.013000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_R = "-0.190000"
|
||||
BEZEL_G = "-0.190000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -207,25 +207,25 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_DARK = "0.100000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.500000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_DARK = "0.100000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.550000"
|
||||
BLOOM_EYE_ADPT_SRT = "0.800000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.011000"
|
||||
BEZEL_INNER_ZOOM = "-0.013000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_R = "-0.190000"
|
||||
BEZEL_G = "-0.190000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -208,25 +208,25 @@ RGB_MASK_STRENGTH = "1.000000"
|
|||
VMASK_USE_GM = "1.000000"
|
||||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.000000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_DARK = "0.100000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.500000"
|
||||
HALO_W = "3.500000"
|
||||
HALO_H = "3.500000"
|
||||
HALO_GAMMA = "1.300000"
|
||||
HALO_VS_SCAN = "0.800000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MIN = "0.200000"
|
||||
SCANLINE_DARK = "0.100000"
|
||||
SCANLINE_SM_TYPE = "1.000000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.550000"
|
||||
BLOOM_EYE_ADPT_SRT = "0.800000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.011000"
|
||||
BEZEL_INNER_ZOOM = "-0.013000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_R = "-0.190000"
|
||||
BEZEL_G = "-0.190000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -188,11 +188,11 @@ scale_type_y16 = "viewport"
|
|||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.200000"
|
||||
CONTRAST = "0.050000"
|
||||
BRIGHTNESS = "0.050000"
|
||||
CONTRAST = "0.050000"
|
||||
TEMPERATURE = "7500.000000"
|
||||
GAMMA_OUT = "0.560000"
|
||||
SATURATION = "1.200000"
|
||||
DO_RF_NOISE = "1.000000"
|
||||
RF_NOISE_STRENGTH = "0.025000"
|
||||
DO_SAT_BLEED = "1.000000"
|
||||
|
@ -217,24 +217,23 @@ VMASK_USE_GM = "1.000000"
|
|||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.700000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.500000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SIZE = "0.010000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.010000"
|
||||
BEZEL_INNER_ZOOM = "-0.014000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_R = "-0.190000"
|
||||
BEZEL_G = "-0.190000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -188,9 +188,9 @@ scale_type_y16 = "viewport"
|
|||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
SATURATION = "1.050000"
|
||||
DO_FXAA = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
|
@ -214,23 +214,23 @@ VMASK_USE_GM = "1.000000"
|
|||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "1.000000"
|
||||
DARKLINES_VOFFSET = "0.000000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.185000"
|
||||
BEZEL_INNER_ZOOM = "-0.175000"
|
||||
BEZEL_FRAME_ZOOM = "0.040000"
|
||||
AMBI_FALLOFF = "0.600000"
|
||||
AMBI_POWER = "1.700000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -188,9 +188,9 @@ scale_type_y16 = "viewport"
|
|||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
SATURATION = "1.050000"
|
||||
DO_FXAA = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
|
@ -214,20 +214,20 @@ VMASK_USE_GM = "1.000000"
|
|||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "1.000000"
|
||||
DARKLINES_VOFFSET = "0.000000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.011000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -188,9 +188,9 @@ scale_type_y16 = "viewport"
|
|||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
SATURATION = "1.050000"
|
||||
DO_FXAA = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
|
@ -214,20 +214,20 @@ VMASK_USE_GM = "1.000000"
|
|||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "1.000000"
|
||||
DARKLINES_VOFFSET = "0.000000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SIZE = "0.010000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.160000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -188,9 +188,9 @@ scale_type_y16 = "viewport"
|
|||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
SATURATION = "1.050000"
|
||||
DO_FXAA = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
|
@ -214,19 +214,19 @@ VMASK_USE_GM = "1.000000"
|
|||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "1.000000"
|
||||
DARKLINES_VOFFSET = "0.000000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SIZE = "0.010000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.160000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -214,25 +214,23 @@ VMASK_USE_GM = "1.000000"
|
|||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.700000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.500000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
DO_SCANLINES = "1.000000"
|
||||
SCANLINE_MAX = "1.000000"
|
||||
SCANLINE_DARK = "1.000000"
|
||||
SCANLINE_FLICKERING = "1.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.400000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.500000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.010000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
BEZEL_INNER_ZOOM = "-0.175000"
|
||||
BEZEL_FRAME_ZOOM = "0.040000"
|
||||
BEZEL_R = "-0.190000"
|
||||
BEZEL_G = "-0.190000"
|
||||
BEZEL_B = "-0.190000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -188,9 +188,9 @@ scale_type_y16 = "viewport"
|
|||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
SATURATION = "1.050000"
|
||||
DO_FXAA = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
|
@ -213,23 +213,23 @@ VMASK_USE_GM = "1.000000"
|
|||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.800000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.185000"
|
||||
BEZEL_INNER_ZOOM = "-0.175000"
|
||||
BEZEL_FRAME_ZOOM = "0.040000"
|
||||
AMBI_FALLOFF = "0.600000"
|
||||
AMBI_POWER = "1.700000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -188,9 +188,9 @@ scale_type_y16 = "viewport"
|
|||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
SATURATION = "1.050000"
|
||||
DO_FXAA = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
|
@ -213,23 +213,23 @@ VMASK_USE_GM = "1.000000"
|
|||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.800000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.450000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SMOOTH = "400.000000"
|
||||
DO_BEZEL = "1.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.011000"
|
||||
BEZEL_INNER_ZOOM = "-0.018000"
|
||||
BEZEL_FRAME_ZOOM = "0.170000"
|
||||
AMBI_FALLOFF = "0.400000"
|
||||
AMBI_POWER = "5.000000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -188,9 +188,9 @@ scale_type_y16 = "viewport"
|
|||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
SATURATION = "1.050000"
|
||||
DO_FXAA = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
|
@ -213,20 +213,20 @@ VMASK_USE_GM = "1.000000"
|
|||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.800000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_BLOOM = "1.000000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SIZE = "0.010000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.160000"
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
shaders = "17"
|
||||
shader0 = "shaders/ntsc_pass.slang"
|
||||
shader0 = "shaders/colortools_and_ntsc_pass.slang"
|
||||
filter_linear0 = "false"
|
||||
wrap_mode0 = "mirrored_repeat"
|
||||
mipmap_input0 = "false"
|
||||
alias0 = "ntsc_pass"
|
||||
alias0 = "colortools_and_ntsc_pass"
|
||||
float_framebuffer0 = "false"
|
||||
srgb_framebuffer0 = "false"
|
||||
scale_type_x0 = "source"
|
||||
scale_x0 = "1.000000"
|
||||
scale_type_y0 = "source"
|
||||
scale_y0 = "1.000000"
|
||||
shader1 = "shaders/first_pass.slang"
|
||||
shader1 = "shaders/flick_and_noise.slang"
|
||||
filter_linear1 = "false"
|
||||
wrap_mode1 = "mirrored_repeat"
|
||||
mipmap_input1 = "false"
|
||||
alias1 = "first_pass"
|
||||
alias1 = "flick_and_noise_pass"
|
||||
float_framebuffer1 = "false"
|
||||
srgb_framebuffer1 = "false"
|
||||
scale_type_x1 = "source"
|
||||
|
@ -188,9 +188,9 @@ scale_type_y16 = "viewport"
|
|||
scale_y16 = "1.000000"
|
||||
DO_CCORRECTION = "1.000000"
|
||||
LUMINANCE = "0.100000"
|
||||
SATURATION = "1.050000"
|
||||
TEMPERATURE = "7000.000000"
|
||||
GAMMA_OUT = "0.500000"
|
||||
SATURATION = "1.050000"
|
||||
DO_FXAA = "1.000000"
|
||||
SAT_BLEED_PAL = "1.000000"
|
||||
SAT_BLEED_STRENGTH = "0.500000"
|
||||
|
@ -213,19 +213,19 @@ VMASK_USE_GM = "1.000000"
|
|||
VMASK_GAP = "1.000000"
|
||||
DARKLINES_STRENGTH = "0.800000"
|
||||
DARKLINES_PERIOD = "4.000000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
DO_HALO = "1.000000"
|
||||
HALO_POWER = "0.990000"
|
||||
HALO_W = "3.000000"
|
||||
HALO_H = "3.000000"
|
||||
HALO_GAMMA = "1.400000"
|
||||
SCANLINE_DARK = "0.700000"
|
||||
SCANLINES_BLEEDING = "1.000000"
|
||||
SCANLINE_FLICKERING = "0.000000"
|
||||
SCANLINE_FLICKERING_POWER = "0.170000"
|
||||
BLOOM_MIX = "0.500000"
|
||||
DO_CURVATURE = "1.000000"
|
||||
GEOM_WARP_X = "0.475000"
|
||||
GEOM_WARP_Y = "0.500000"
|
||||
GEOM_WARP_X = "0.420000"
|
||||
GEOM_WARP_Y = "0.470000"
|
||||
GEOM_CORNER_SIZE = "0.010000"
|
||||
GEOM_CORNER_SMOOTH = "200.000000"
|
||||
BEZEL_INNER_ZOOM = "-0.160000"
|
||||
|
|
Loading…
Reference in a new issue