summaryrefslogblamecommitdiffstatshomepage
path: root/docs/hlsl.txt
blob: a679748e23327c9bde46572d55b9e8186f54a409 (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                                                              
                                                                                               
                                                                                                  
                                                                                      
                                                                                       

 

                                   

                                                   
                                                                                                     

                                                                                          










                                                                                                   




                                                                                                

                                                                                     
                                                                                             

                                                                                              



                                                                                          
                                                                                                     
                                                                                                



                                                                                               



                                                                                               















                                                                                               




                          
                                                   









                                                                                                                     














                                                                                                         


                                                                                                              
                                                                                              









                                                                                                
HLSL-Related Enable Switches
----------------------------

Name                    Values		Description
hlsl_enable             0/1             Enables HLSL post-processing in Direct3D 9 modes.
yiq_enable              0/1             Enables YIQ-colorspace post-processing. Causes a
                                        performance drop but gives a much more authentic
                                        NTSC TV appearance on TV-based systems when configured
                                        properly.
hlslpath                [path]          Path to the .fx files that are in use.  (default: hlsl)
hlsl_write              [filename]      Enables HLSL AVI writing.  (huge disk bandwidth suggested)
hlsl_snap_width         [width]         HLSL upscaled-snapshot width.  (default: 2048)
hlsl_snap_height        [height]        HLSL upscaled-snapshot height.  (default: 1536)


Surface/Color Processing Parameters
-----------------------------------

Name                    Values		Description
shadow_mask_tile_mode   0 or 1          0 for screen based tile mode or 1 for source based tile mode.
shadow_mask_alpha       0.0 to 1.0      The ovearll darkness of each shadow mask pixel.
shadow_mask_texture     [filename]      A PNG that defines the shadow mask for each pixel.
shadow_mask_x_count     1+              The number of pixels one shadow mask tile uses on screen.
shadow_mask_y_count     1+              This stretches the shadow mask tiles on X and Y axis.
shadow_mask_usize       0.0 to 1.0      The size of one shadow mask tile in U/V coordinate.
shadow_mask_vsize       0.0 to 1.0      The shadow mask textures always has a size of power-of-two.
shadow_mask_voffset    -1.0 to 1.0      The offset of the shadow mask texture in U/V coordinates.
shadow_mask_voffset    -1.0 to 1.0      An offset of 1.0 repressents one pixel on screen.
curvature               0.0 to 1.0      Curvature amount of the screen.
round_corner            0.0 to 1.0      Rounded corners amount of the screen.
smooth_border           0.0 to 1.0      Smooth borders amount of the screen.
reflection              0.0 to 1.0      Refelection amount of the screen highlight.
vignetting              0.0 to 1.0      Vignetting amount of the image.
scanline_alpha          0.0 to 1.0      The overall darkness of each scanline furrow.
scanline_size           0.0 to 4.0      The overall height of each scanline.
scanline_height         [height]        Individual height scaling value for scanlines.
scanline_bright_scale   0.0 to 2.0      The overall brightness multiplier for each scanline.
scanline_bright_offset  0.0 to 1.0      The overall brightness additive value for each scanline.
scanline_jitter         0.0 to 1.0      The relative scanline movement per field.
hum_bar_alpha           0.0 to 1.0      The maximum darkness of the hum bar gradient.
defocus                 [xval,yval]     This defines the overall defocus radius for the three
                                        post-converged beams. Values allowed range from 0.0 to
                                        10.0.
converge_x              [r,g,b]         Convergence in screen-relative X direction.
converge_y              [r,g,b]         Convergence in screen-relative Y direction.
radial_converge_x   	[r,g,b]         Radial convergence in screen-relative X direction.
radial_converge_y   	[r,g,b]         Radial convergence in screen-relative Y direction.
                                        Allowed values for convergence: -10.0 to 10.0 for each color.
red_ratio               [r,g,b]         These parameters define a 3x3 matrix which is multiplied
grn_ratio               [r,g,b]         by the incoming RGB signal. This can be used for any
blu_ratio               [r,g,b]         standard matrix convolution, including H/S/V or simply
                                        affecting the TV-style tint.
saturation              0.0 to 4.0      This parameter defines the amount each color channel is
                                        raised above said channel's baseline grayscale value.
                                        A value of 0.0 gives a gamma-correct grayscale image,
                                        whereas 1.0 is full saturation, with each channel being
                                        oversaturated equally beyond that.
offset                  [r,g,b]         These parameters define a value for each color channel
                                        that is added to said channel after scaling and after
                                        matrix convolution. (-2.0 to 2.0)
scale                   [r,g,b]         These parameters define a value for each color channel
                                        that is multiplied with said channel after matrix
                                        convolution.  (-2.0 to 2.0)
power                   [r,g,b]         These parameters define the exponent for each color
                                        channel that is applied after scaling, offsetting,
                                        saturation and matrix convolution. (-4.0 to 4.0)
floor                   [r,g,b]         These parameters define the lower limit of each final
                                        color channel value; 0.05, for example, raises the
                                        minimum to 0.05 but re-scales to leave the max at 1.0.
phosphor_life           [r,g,b]         These parameters define the phosphor lifetime for each
                                        channel, with 0.0 representing no phosphorescence and
                                        1.0 leaving the channel on indefinitely. Values allowed
                                        range from 0.0 to 1.0.


NTSC Processing Parameters
--------------------------

Name                    Default Values  Description
yiq_jitter              0.0             Jitter for the NTSC signal processing. (0.0 to 1.0)
yiq_cc                  3.57954545      Color Carrier frequency for NTSC signal processing. (0.0 to 6.0)
yiq_a                   0.5             A value for NTSC signal processing. (-1.0 to 1.0)
yiq_b                   0.5             B value for NTSC signal processing. (-1.0 to 1.0)
yiq_o                   0.0             Outgoing Color Carrier phase offset for NTSC signal processing. (-3.0 to 3.0)
yiq_p                   1.0             Incoming Pixel Clock scaling value for NTSC signal processing. (-3.0 to 3.0)
yiq_n                   1.0             Y filter notch width for NTSC signal processing. (0.0 to 6.0)
yiq_y                   6.0             Y filter cutoff frequency for NTSC signal processing. (0.0 to 6.0)
yiq_i                   1.2             I filter cutoff frequency for NTSC signal processing. (0.0 to 6.0)
yiq_q                   0.6             Q filter cutoff frequency for NTSC signal processing. (0.0 to 6.0)
yiq_scan_time           52.6            Horizontal scanline duration for NTSC signal processing. (usec)
yiq_phase_count         2               Phase Count value for NTSC signal processing. (3 for NES, else 2)


Vector Post-Processing Options
------------------------------
Name                    Default Values  Description
vector_length_scale     0.8             How much length affects vector fade.  (0.00-1.00)
vector_length_ratio     500.0           Vector fade length (4.0 - vectors fade the most at and above 4
                                        pixels, etc.)  (0.000 - 1000.000)


Bloom Post-Processing Options
-----------------------------
Name                    Default Values  Description
bloom_blend_mode        0 or 1          0 for brighten blend mode or 1 for darken blend mode.
bloom_scale             0.0             Bloom intensity factor.  (0.000-2.000)
bloom_overdrive         0.0,0.0,0.0     Bloom overdrive factor to bright full saturated colors.  (0.000-2.000)
bloom_lvl0_weight       1.00            Bloom level 0  (full-size target) weight.  (0.00-1.00)
bloom_lvl1_weight       0.64            Bloom level 1  (1/2-size target) weight.  (0.00-1.00)
bloom_lvl2_weight       0.32            Bloom level 2  (1/4-size target) weight.  (0.00-1.00)
bloom_lvl3_weight       0.16            Bloom level 3  (1/8-size target) weight.  (0.00-1.00)
bloom_lvl4_weight       0.08            Bloom level 4  (1/16-size target) weight.  (0.00-1.00)
bloom_lvl5_weight       0.04            Bloom level 5  (1/32-size target) weight.  (0.00-1.00)
bloom_lvl6_weight       0.04            Bloom level 6  (1/64-size target) weight.  (0.00-1.00)
bloom_lvl7_weight       0.02            Bloom level 7  (1/128-size target) weight.  (0.00-1.00)
bloom_lvl8_weight       0.02            Bloom level 8  (1/256-size target) weight.  (0.00-1.00)
bloom_lvl9_weight       0.01            Bloom level 9  (1/512-size target) weight.  (0.00-1.00)
bloom_lvl10_weight      0.01            Bloom level 10 (1/1024-size target) weight.  (0.00-1.00)