Previous 199869 Revisions Next

r41785 Wednesday 18th November, 2015 at 17:01:01 UTC by Jezze
Cleanup

- fixed not used HLSL settings from <custom>.ini if MAME was started
without driver parameter
- removed default values from HLSL sliders, the defaults here are more
like null values to hint when an effect would be disable
- slightly changed default HLSL settings
[hlsl/artwork_support]post.fx
[src/osd/modules/render]drawd3d.cpp
[src/osd/modules/render/d3d]d3dhlsl.cpp
[src/osd/windows]winmain.cpp

trunk/hlsl/artwork_support/post.fx
r250296r250297
347347   // apply ratio difference between screen and quad
348348   coord /= RatioCorrection;
349349
350   // applay screen scale
350   // apply screen scale
351351   coord /= ScreenScale;
352352
353353   // distort coordinates
trunk/src/osd/modules/render/d3d/d3dhlsl.cpp
r250296r250297
7272//  shader manager constructor
7373//============================================================
7474
75shaders::shaders():
75shaders::shaders() :
7676   d3dintf(NULL), machine(NULL), d3d(NULL), num_screens(0), curr_screen(0), curr_frame(0), write_ini(false), read_ini(false), hlsl_prescale_x(0), hlsl_prescale_y(0), bloom_count(0),
7777   vecbuf_type(), vecbuf_index(0), vecbuf_count(0), avi_output_file(NULL), avi_frame(0), avi_copy_surface(NULL), avi_copy_texture(NULL), avi_final_target(NULL), avi_final_texture(NULL),
7878   black_surface(NULL), black_texture(NULL), render_snap(false), snap_rendered(false), snap_copy_target(NULL), snap_copy_texture(NULL), snap_target(NULL), snap_texture(NULL),
7979   snap_width(0), snap_height(0), lines_pending(false), backbuffer(NULL), curr_effect(NULL), default_effect(NULL), prescale_effect(NULL), post_effect(NULL), distortion_effect(NULL),
8080   focus_effect(NULL), phosphor_effect(NULL), deconverge_effect(NULL), color_effect(NULL), yiq_encode_effect(NULL), yiq_decode_effect(NULL), bloom_effect(NULL),
8181   downsample_effect(NULL), vector_effect(NULL), fsfx_vertices(NULL), curr_texture(NULL), curr_render_target(NULL), curr_poly(NULL)
82
8382{
8483   master_enable = false;
8584   vector_enable = true;
r250296r250297
102101
103102shaders::~shaders()
104103{
105   last_options = *options;
106
104   if (options != NULL)
105   {
106      last_options = *options;
107   }
107108   options = NULL;
108109
109110   cache_target *currcache = cachehead;
r250296r250297
653654
654655void shaders::init(base *d3dintf, running_machine *machine, d3d::renderer *renderer)
655656{
657   if (&machine->system() == &GAME_NAME(___empty))
658   {
659      return;
660   }
661
656662   if (!d3dintf->post_fx_available)
657663   {
658664      return;
r250296r250297
26962702   return slider_set(&(((hlsl_options*)arg)->bloom_level10_weight), 0.01f, "%1.2f", str, newval);
26972703}
26982704
2699hlsl_options shaders::last_options;
2705hlsl_options shaders::last_options = { false };
27002706
27012707shaders::slider_desc shaders::s_sliders[] =
27022708{
2703   { "Vector Length Attenuation",           0,    80,   100, 1, 2, slider_vector_attenuation },
2709   { "Vector Length Attenuation",           0,    50,   100, 1, 2, slider_vector_attenuation },
27042710   { "Vector Attenuation Length Limit",     1,   500,  1000, 1, 2, slider_vector_length_max },
27052711   { "Shadow Mask Darkness",                0,     0,   100, 1, 7, slider_shadow_mask_alpha },
2706   { "Shadow Mask X Count",                 1,     6,  1024, 1, 7, slider_shadow_mask_x_count },
2707   { "Shadow Mask Y Count",                 1,     6,  1024, 1, 7, slider_shadow_mask_y_count },
2708   { "Shadow Mask Pixel Count X",           1,     6,    64, 1, 7, slider_shadow_mask_usize },
2709   { "Shadow Mask Pixel Count Y",           1,     6,    64, 1, 7, slider_shadow_mask_vsize },
2712   { "Shadow Mask X Count",                 1,     1,  1024, 1, 7, slider_shadow_mask_x_count },
2713   { "Shadow Mask Y Count",                 1,     1,  1024, 1, 7, slider_shadow_mask_y_count },
2714   { "Shadow Mask Pixel Count X",           1,     1,    64, 1, 7, slider_shadow_mask_usize },
2715   { "Shadow Mask Pixel Count Y",           1,     1,    64, 1, 7, slider_shadow_mask_vsize },
27102716   { "Shadow Mask Offset X",             -100,     0,   100, 1, 7, slider_shadow_mask_uoffset },
27112717   { "Shadow Mask Offset Y",             -100,     0,   100, 1, 7, slider_shadow_mask_voffset },
27122718   { "Screen Curvature",                    0,     0,   100, 1, 7, slider_curvature },
r250296r250297
27142720   { "Screen Smooth Border",                0,     0,   100, 1, 7, slider_smooth_border },
27152721   { "Screen Reflection",                   0,     0,   100, 1, 7, slider_reflection },
27162722   { "Image Vignetting",                    0,     0,   100, 1, 7, slider_vignetting },
2717   { "Scanline Darkness",                   0,   100,   100, 1, 1, slider_scanline_alpha },
2723   { "Scanline Darkness",                   0,     0,   100, 1, 1, slider_scanline_alpha },
27182724   { "Scanline Screen Height",              1,    20,    80, 1, 1, slider_scanline_scale },
27192725   { "Scanline Indiv. Height",              1,    20,    80, 1, 1, slider_scanline_height },
27202726   { "Scanline Brightness",                 0,    20,    40, 1, 1, slider_scanline_bright_scale },
r250296r250297
27222728   { "Scanline Jitter",                     0,     0,    40, 1, 1, slider_scanline_offset },
27232729   { "Defocus X",                           0,     0,    64, 1, 3, slider_defocus_x },
27242730   { "Defocus Y",                           0,     0,    64, 1, 3, slider_defocus_y },
2725   { "Red Position Offset X",           -1500,     3,  1500, 1, 3, slider_red_converge_x },
2731   { "Red Position Offset X",           -1500,     0,  1500, 1, 3, slider_red_converge_x },
27262732   { "Red Position Offset Y",           -1500,     0,  1500, 1, 3, slider_red_converge_y },
27272733   { "Green Position Offset X",         -1500,     0,  1500, 1, 3, slider_green_converge_x },
2728   { "Green Position Offset Y",         -1500,     3,  1500, 1, 3, slider_green_converge_y },
2729   { "Blue Position Offset X",          -1500,     3,  1500, 1, 3, slider_blue_converge_x },
2730   { "Blue Position Offset Y",          -1500,     3,  1500, 1, 3, slider_blue_converge_y },
2734   { "Green Position Offset Y",         -1500,     0,  1500, 1, 3, slider_green_converge_y },
2735   { "Blue Position Offset X",          -1500,     0,  1500, 1, 3, slider_blue_converge_x },
2736   { "Blue Position Offset Y",          -1500,     0,  1500, 1, 3, slider_blue_converge_y },
27312737   { "Red Convergence X",               -1500,     0,  1500, 1, 3, slider_red_radial_converge_x },
27322738   { "Red Convergence Y",               -1500,     0,  1500, 1, 3, slider_red_radial_converge_y },
27332739   { "Green Convergence X",             -1500,     0,  1500, 1, 3, slider_green_radial_converge_x },
r250296r250297
27432749   { "Blue Output from Red Input",       -400,     0,   400, 5, 7, slider_blue_from_r },
27442750   { "Blue Output from Green Input",     -400,     0,   400, 5, 7, slider_blue_from_g },
27452751   { "Blue Output from Blue Input",      -400,     0,   400, 5, 7, slider_blue_from_b },
2746   { "Saturation",                          0,   140,   400, 1, 7, slider_saturation },
2752   { "Saturation",                          0,   100,   400, 1, 7, slider_saturation },
27472753   { "Red DC Offset",                    -100,     0,   100, 1, 7, slider_red_offset },
27482754   { "Green DC Offset",                  -100,     0,   100, 1, 7, slider_green_offset },
27492755   { "Blue DC Offset",                   -100,     0,   100, 1, 7, slider_blue_offset },
2750   { "Red Scale",                        -200,    95,   200, 1, 7, slider_red_scale },
2751   { "Green Scale",                      -200,    95,   200, 1, 7, slider_green_scale },
2752   { "Blue Scale",                       -200,    95,   200, 1, 7, slider_blue_scale },
2753   { "Red Gamma",                         -80,    16,    80, 1, 7, slider_red_power },
2754   { "Green Gamma",                       -80,    16,    80, 1, 7, slider_green_power },
2755   { "Blue Gamma",                        -80,    16,    80, 1, 7, slider_blue_power },
2756   { "Red Floor",                           0,     5,   100, 1, 7, slider_red_floor },
2757   { "Green Floor",                         0,     5,   100, 1, 7, slider_green_floor },
2758   { "Blue Floor",                          0,     5,   100, 1, 7, slider_blue_floor },
2759   { "Red Phosphor Life",                   0,    40,   100, 1, 7, slider_red_phosphor_life },
2760   { "Green Phosphor Life",                 0,    40,   100, 1, 7, slider_green_phosphor_life },
2761   { "Blue Phosphor Life",                  0,    40,   100, 1, 7, slider_blue_phosphor_life },
2762   { "Bloom Scale",                         0,   250,  2000, 5, 7, slider_bloom_scale },
2763   { "Bloom Red Overdrive",                 0,   250,  2000, 5, 7, slider_bloom_red_overdrive },
2764   { "Bloom Green Overdrive",               0,   250,  2000, 5, 7, slider_bloom_green_overdrive },
2765   { "Bloom Blue Overdrive",                0,   250,  2000, 5, 7, slider_bloom_blue_overdrive },
2756   { "Red Scale",                        -200,   100,   200, 1, 7, slider_red_scale },
2757   { "Green Scale",                      -200,   100,   200, 1, 7, slider_green_scale },
2758   { "Blue Scale",                       -200,   100,   200, 1, 7, slider_blue_scale },
2759   { "Red Gamma",                         -80,     0,    80, 1, 7, slider_red_power },
2760   { "Green Gamma",                       -80,     0,    80, 1, 7, slider_green_power },
2761   { "Blue Gamma",                        -80,     0,    80, 1, 7, slider_blue_power },
2762   { "Red Floor",                           0,     0,   100, 1, 7, slider_red_floor },
2763   { "Green Floor",                         0,     0,   100, 1, 7, slider_green_floor },
2764   { "Blue Floor",                          0,     0,   100, 1, 7, slider_blue_floor },
2765   { "Red Phosphor Life",                   0,     0,   100, 1, 7, slider_red_phosphor_life },
2766   { "Green Phosphor Life",                 0,     0,   100, 1, 7, slider_green_phosphor_life },
2767   { "Blue Phosphor Life",                  0,     0,   100, 1, 7, slider_blue_phosphor_life },
2768   { "Bloom Scale",                         0,     0,  2000, 5, 7, slider_bloom_scale },
2769   { "Bloom Red Overdrive",                 0,     0,  2000, 5, 7, slider_bloom_red_overdrive },
2770   { "Bloom Green Overdrive",               0,     0,  2000, 5, 7, slider_bloom_green_overdrive },
2771   { "Bloom Blue Overdrive",                0,     0,  2000, 5, 7, slider_bloom_blue_overdrive },
27662772   { "Bloom Level 0 Scale",                 0,   100,   100, 1, 7, slider_bloom_lvl0_scale },
2767   { "Bloom Level 1 Scale",                 0,    21,   100, 1, 7, slider_bloom_lvl1_scale },
2768   { "Bloom Level 2 Scale",                 0,    19,   100, 1, 7, slider_bloom_lvl2_scale },
2769   { "Bloom Level 3 Scale",                 0,    17,   100, 1, 7, slider_bloom_lvl3_scale },
2770   { "Bloom Level 4 Scale",                 0,    15,   100, 1, 7, slider_bloom_lvl4_scale },
2771   { "Bloom Level 5 Scale",                 0,    14,   100, 1, 7, slider_bloom_lvl5_scale },
2772   { "Bloom Level 6 Scale",                 0,    13,   100, 1, 7, slider_bloom_lvl6_scale },
2773   { "Bloom Level 7 Scale",                 0,    12,   100, 1, 7, slider_bloom_lvl7_scale },
2774   { "Bloom Level 8 Scale",                 0,    11,   100, 1, 7, slider_bloom_lvl8_scale },
2775   { "Bloom Level 9 Scale",                 0,    10,   100, 1, 7, slider_bloom_lvl9_scale },
2776   { "Bloom Level 10 Scale",                0,     9,   100, 1, 7, slider_bloom_lvl10_scale },
2773   { "Bloom Level 1 Scale",                 0,     0,   100, 1, 7, slider_bloom_lvl1_scale },
2774   { "Bloom Level 2 Scale",                 0,     0,   100, 1, 7, slider_bloom_lvl2_scale },
2775   { "Bloom Level 3 Scale",                 0,     0,   100, 1, 7, slider_bloom_lvl3_scale },
2776   { "Bloom Level 4 Scale",                 0,     0,   100, 1, 7, slider_bloom_lvl4_scale },
2777   { "Bloom Level 5 Scale",                 0,     0,   100, 1, 7, slider_bloom_lvl5_scale },
2778   { "Bloom Level 6 Scale",                 0,     0,   100, 1, 7, slider_bloom_lvl6_scale },
2779   { "Bloom Level 7 Scale",                 0,     0,   100, 1, 7, slider_bloom_lvl7_scale },
2780   { "Bloom Level 8 Scale",                 0,     0,   100, 1, 7, slider_bloom_lvl8_scale },
2781   { "Bloom Level 9 Scale",                 0,     0,   100, 1, 7, slider_bloom_lvl9_scale },
2782   { "Bloom Level 10 Scale",                0,     0,   100, 1, 7, slider_bloom_lvl10_scale },
27772783   { NULL, 0, 0, 0, 0, 0, NULL },
27782784};
27792785
trunk/src/osd/modules/render/drawd3d.cpp
r250296r250297
804804   if (m_shaders_options == NULL)
805805   {
806806      m_shaders_options = (hlsl_options*)global_alloc_clear(hlsl_options);
807      m_shaders_options->params_init = false;
807808   }
808809
809810   // verify the caps
trunk/src/osd/windows/winmain.cpp
r250296r250297
280280   { WINOPTION_HWSTRETCH ";hws",                     "1",        OPTION_BOOLEAN,    "enables hardware stretching" },
281281
282282   // post-processing options
283   { NULL,                                                     NULL,        OPTION_HEADER,     "DIRECT3D POST-PROCESSING OPTIONS" },
284   { WINOPTION_HLSL_ENABLE";hlsl",                             "0",         OPTION_BOOLEAN,    "enables HLSL post-processing (PS3.0 required)" },
285   { WINOPTION_HLSLPATH,                                       "hlsl",      OPTION_STRING,     "path to hlsl files" },
286   { WINOPTION_HLSL_PRESCALE_X,                                "0",         OPTION_INTEGER,    "HLSL pre-scale override factor for X (0 for auto)" },
287   { WINOPTION_HLSL_PRESCALE_Y,                                "0",         OPTION_INTEGER,    "HLSL pre-scale override factor for Y (0 for auto)" },
288   { WINOPTION_HLSL_WRITE,                                     NULL,        OPTION_STRING,     "enables HLSL AVI writing (huge disk bandwidth suggested)" },
289   { WINOPTION_HLSL_SNAP_WIDTH,                                "2048",      OPTION_STRING,     "HLSL upscaled-snapshot width" },
290   { WINOPTION_HLSL_SNAP_HEIGHT,                               "1536",      OPTION_STRING,     "HLSL upscaled-snapshot height" },
291   { WINOPTION_SHADOW_MASK_ALPHA";fs_shadwa(0.0-1.0)",         "0.0",       OPTION_FLOAT,      "shadow mask alpha-blend value (1.0 is fully blended, 0.0 is no mask)" },
292   { WINOPTION_SHADOW_MASK_TEXTURE";fs_shadwt(0.0-1.0)",       "aperture.png", OPTION_STRING,  "shadow mask texture name" },
293   { WINOPTION_SHADOW_MASK_COUNT_X";fs_shadww",                "6",         OPTION_INTEGER,    "shadow mask tile width, in screen dimensions" },
294   { WINOPTION_SHADOW_MASK_COUNT_Y";fs_shadwh",                "6",         OPTION_INTEGER,    "shadow mask tile height, in screen dimensions" },
295   { WINOPTION_SHADOW_MASK_USIZE";fs_shadwu(0.0-1.0)",         "0.1875",    OPTION_FLOAT,      "shadow mask texture width, in U/V dimensions" },
296   { WINOPTION_SHADOW_MASK_VSIZE";fs_shadwv(0.0-1.0)",         "0.1875",    OPTION_FLOAT,      "shadow mask texture height, in U/V dimensions" },
297   { WINOPTION_SHADOW_MASK_UOFFSET";fs_shadwou(-1.0-1.0)",     "0.0",       OPTION_FLOAT,      "shadow mask texture offset, in U direction" },
298   { WINOPTION_SHADOW_MASK_VOFFSET";fs_shadwov(-1.0-1.0)",     "0.0",       OPTION_FLOAT,      "shadow mask texture offset, in V direction" },
299   { WINOPTION_CURVATURE";fs_curv(0.0-1.0)",                   "0.0",       OPTION_FLOAT,      "screen curvature amount" },
300   { WINOPTION_ROUND_CORNER";fs_rndc(0.0-1.0)",                "0.0",       OPTION_FLOAT,      "screen round corner amount" },
301   { WINOPTION_SMOOTH_BORDER";fs_smob(0.0-1.0)",               "0.0",       OPTION_FLOAT,      "screen smooth border amount" },
302   { WINOPTION_REFLECTION";fs_ref(0.0-1.0)",                   "0.0",       OPTION_FLOAT,      "screen reflection amount" },
303   { WINOPTION_VIGNETTING";fs_vig(0.0-1.0)",                   "0.0",       OPTION_FLOAT,      "image vignetting amount" },
283   { NULL,                                                     NULL,                OPTION_HEADER,     "DIRECT3D POST-PROCESSING OPTIONS" },
284   { WINOPTION_HLSL_ENABLE";hlsl",                             "0",                 OPTION_BOOLEAN,    "enables HLSL post-processing (PS3.0 required)" },
285   { WINOPTION_HLSLPATH,                                       "hlsl",              OPTION_STRING,     "path to hlsl files" },
286   { WINOPTION_HLSL_PRESCALE_X,                                "0",                 OPTION_INTEGER,    "HLSL pre-scale override factor for X (0 for auto)" },
287   { WINOPTION_HLSL_PRESCALE_Y,                                "0",                 OPTION_INTEGER,    "HLSL pre-scale override factor for Y (0 for auto)" },
288   { WINOPTION_HLSL_WRITE,                                     NULL,                OPTION_STRING,     "enables HLSL AVI writing (huge disk bandwidth suggested)" },
289   { WINOPTION_HLSL_SNAP_WIDTH,                                "2048",              OPTION_STRING,     "HLSL upscaled-snapshot width" },
290   { WINOPTION_HLSL_SNAP_HEIGHT,                               "1536",              OPTION_STRING,     "HLSL upscaled-snapshot height" },
291   { WINOPTION_SHADOW_MASK_ALPHA";fs_shadwa(0.0-1.0)",         "0.0",               OPTION_FLOAT,      "shadow mask alpha-blend value (1.0 is fully blended, 0.0 is no mask)" },
292   { WINOPTION_SHADOW_MASK_TEXTURE";fs_shadwt(0.0-1.0)",       "shadow-mask.png",   OPTION_STRING,     "shadow mask texture name" },
293   { WINOPTION_SHADOW_MASK_COUNT_X";fs_shadww",                "6",                 OPTION_INTEGER,    "shadow mask tile width, in screen dimensions" },
294   { WINOPTION_SHADOW_MASK_COUNT_Y";fs_shadwh",                "4",                 OPTION_INTEGER,    "shadow mask tile height, in screen dimensions" },
295   { WINOPTION_SHADOW_MASK_USIZE";fs_shadwu(0.0-1.0)",         "0.1875",            OPTION_FLOAT,      "shadow mask texture width, in U/V dimensions" },
296   { WINOPTION_SHADOW_MASK_VSIZE";fs_shadwv(0.0-1.0)",         "0.25",              OPTION_FLOAT,      "shadow mask texture height, in U/V dimensions" },
297   { WINOPTION_SHADOW_MASK_UOFFSET";fs_shadwou(-1.0-1.0)",     "0.0",               OPTION_FLOAT,      "shadow mask texture offset, in U direction" },
298   { WINOPTION_SHADOW_MASK_VOFFSET";fs_shadwov(-1.0-1.0)",     "0.0",               OPTION_FLOAT,      "shadow mask texture offset, in V direction" },
299   { WINOPTION_CURVATURE";fs_curv(0.0-1.0)",                   "0.0",               OPTION_FLOAT,      "screen curvature amount" },
300   { WINOPTION_ROUND_CORNER";fs_rndc(0.0-1.0)",                "0.0",               OPTION_FLOAT,      "screen round corner amount" },
301   { WINOPTION_SMOOTH_BORDER";fs_smob(0.0-1.0)",               "0.0",               OPTION_FLOAT,      "screen smooth border amount" },
302   { WINOPTION_REFLECTION";fs_ref(0.0-1.0)",                   "0.0",               OPTION_FLOAT,      "screen reflection amount" },
303   { WINOPTION_VIGNETTING";fs_vig(0.0-1.0)",                   "0.0",               OPTION_FLOAT,      "image vignetting amount" },
304304   /* Beam-related values below this line*/
305   { WINOPTION_SCANLINE_AMOUNT";fs_scanam(0.0-4.0)",           "1.0",       OPTION_FLOAT,      "overall alpha scaling value for scanlines" },
306   { WINOPTION_SCANLINE_SCALE";fs_scansc(0.0-4.0)",            "1.0",       OPTION_FLOAT,      "overall height scaling value for scanlines" },
307   { WINOPTION_SCANLINE_HEIGHT";fs_scanh(0.0-4.0)",            "1.0",       OPTION_FLOAT,      "individual height scaling value for scanlines" },
308   { WINOPTION_SCANLINE_BRIGHT_SCALE";fs_scanbs(0.0-2.0)",     "1.0",       OPTION_FLOAT,      "overall brightness scaling value for scanlines (multiplicative)" },
309   { WINOPTION_SCANLINE_BRIGHT_OFFSET";fs_scanbo(0.0-1.0)",    "0.0",       OPTION_FLOAT,      "overall brightness offset value for scanlines (additive)" },
310   { WINOPTION_SCANLINE_OFFSET";fs_scanjt(0.0-4.0)",           "0.0",       OPTION_FLOAT,      "overall interlace jitter scaling value for scanlines" },
311   { WINOPTION_DEFOCUS";fs_focus",                             "0.0,0.0",   OPTION_STRING,     "overall defocus value in screen-relative coords" },
312   { WINOPTION_CONVERGE_X";fs_convx",                          "0.3,0.0,-0.3",OPTION_STRING,   "convergence in screen-relative X direction" },
313   { WINOPTION_CONVERGE_Y";fs_convy",                          "0.0,0.3,-0.3",OPTION_STRING,   "convergence in screen-relative Y direction" },
314   { WINOPTION_RADIAL_CONVERGE_X";fs_rconvx",                  "0.0,0.0,0.0",OPTION_STRING,    "radial convergence in screen-relative X direction" },
315   { WINOPTION_RADIAL_CONVERGE_Y";fs_rconvy",                  "0.0,0.0,0.0",OPTION_STRING,    "radial convergence in screen-relative Y direction" },
305   { WINOPTION_SCANLINE_AMOUNT";fs_scanam(0.0-4.0)",           "1.0",               OPTION_FLOAT,      "overall alpha scaling value for scanlines" },
306   { WINOPTION_SCANLINE_SCALE";fs_scansc(0.0-4.0)",            "1.0",               OPTION_FLOAT,      "overall height scaling value for scanlines" },
307   { WINOPTION_SCANLINE_HEIGHT";fs_scanh(0.0-4.0)",            "1.0",               OPTION_FLOAT,      "individual height scaling value for scanlines" },
308   { WINOPTION_SCANLINE_BRIGHT_SCALE";fs_scanbs(0.0-2.0)",     "1.0",               OPTION_FLOAT,      "overall brightness scaling value for scanlines (multiplicative)" },
309   { WINOPTION_SCANLINE_BRIGHT_OFFSET";fs_scanbo(0.0-1.0)",    "0.0",               OPTION_FLOAT,      "overall brightness offset value for scanlines (additive)" },
310   { WINOPTION_SCANLINE_OFFSET";fs_scanjt(0.0-4.0)",           "0.0",               OPTION_FLOAT,      "overall interlace jitter scaling value for scanlines" },
311   { WINOPTION_DEFOCUS";fs_focus",                             "1.0,0.0",           OPTION_STRING,     "overall defocus value in screen-relative coords" },
312   { WINOPTION_CONVERGE_X";fs_convx",                          "0.25,0.00,-0.25",   OPTION_STRING,     "convergence in screen-relative X direction" },
313   { WINOPTION_CONVERGE_Y";fs_convy",                          "0.0,0.25,-0.25",    OPTION_STRING,     "convergence in screen-relative Y direction" },
314   { WINOPTION_RADIAL_CONVERGE_X";fs_rconvx",                  "0.0,0.0,0.0",       OPTION_STRING,     "radial convergence in screen-relative X direction" },
315   { WINOPTION_RADIAL_CONVERGE_Y";fs_rconvy",                  "0.0,0.0,0.0",       OPTION_STRING,     "radial convergence in screen-relative Y direction" },
316316   /* RGB colorspace convolution below this line */
317   { WINOPTION_RED_RATIO";fs_redratio",                        "1.0,0.0,0.0",OPTION_STRING,    "red output signal generated by input signal" },
318   { WINOPTION_GRN_RATIO";fs_grnratio",                        "0.0,1.0,0.0",OPTION_STRING,    "green output signal generated by input signal" },
319   { WINOPTION_BLU_RATIO";fs_bluratio",                        "0.0,0.0,1.0",OPTION_STRING,    "blue output signal generated by input signal" },
320   { WINOPTION_SATURATION";fs_sat(0.0-4.0)",                   "1.4",        OPTION_FLOAT,     "saturation scaling value" },
321   { WINOPTION_OFFSET";fs_offset",                             "0.0,0.0,0.0",OPTION_STRING,    "signal offset value (additive)" },
322   { WINOPTION_SCALE";fs_scale",                               "0.95,0.95,0.95",OPTION_STRING, "signal scaling value (multiplicative)" },
323   { WINOPTION_POWER";fs_power",                               "0.8,0.8,0.8",OPTION_STRING,    "signal power value (exponential)" },
324   { WINOPTION_FLOOR";fs_floor",                               "0.05,0.05,0.05",OPTION_STRING, "signal floor level" },
325   { WINOPTION_PHOSPHOR";fs_phosphor",                         "0.4,0.4,0.4",OPTION_STRING,    "phosphorescence decay rate (0.0 is instant, 1.0 is forever)" },
317   { WINOPTION_RED_RATIO";fs_redratio",                        "1.0,0.0,0.0",       OPTION_STRING,     "red output signal generated by input signal" },
318   { WINOPTION_GRN_RATIO";fs_grnratio",                        "0.0,1.0,0.0",       OPTION_STRING,     "green output signal generated by input signal" },
319   { WINOPTION_BLU_RATIO";fs_bluratio",                        "0.0,0.0,1.0",       OPTION_STRING,     "blue output signal generated by input signal" },
320   { WINOPTION_SATURATION";fs_sat(0.0-4.0)",                   "1.4",               OPTION_FLOAT,      "saturation scaling value" },
321   { WINOPTION_OFFSET";fs_offset",                             "0.0,0.0,0.0",       OPTION_STRING,     "signal offset value (additive)" },
322   { WINOPTION_SCALE";fs_scale",                               "0.95,0.95,0.95",    OPTION_STRING,     "signal scaling value (multiplicative)" },
323   { WINOPTION_POWER";fs_power",                               "0.8,0.8,0.8",       OPTION_STRING,     "signal power value (exponential)" },
324   { WINOPTION_FLOOR";fs_floor",                               "0.05,0.05,0.05",    OPTION_STRING,     "signal floor level" },
325   { WINOPTION_PHOSPHOR";fs_phosphor",                         "0.4,0.4,0.4",       OPTION_STRING,     "phosphorescence decay rate (0.0 is instant, 1.0 is forever)" },
326326   /* NTSC simulation below this line */
327   { NULL,                                                     NULL,        OPTION_HEADER,     "NTSC POST-PROCESSING OPTIONS" },
328   { WINOPTION_YIQ_ENABLE";yiq",                               "0",         OPTION_BOOLEAN,    "enables YIQ-space HLSL post-processing" },
329   { WINOPTION_YIQ_CCVALUE";yiqcc",                            "3.59754545",OPTION_FLOAT,      "Color Carrier frequency for NTSC signal processing" },
330   { WINOPTION_YIQ_AVALUE";yiqa",                              "0.5",       OPTION_FLOAT,      "A value for NTSC signal processing" },
331   { WINOPTION_YIQ_BVALUE";yiqb",                              "0.5",       OPTION_FLOAT,      "B value for NTSC signal processing" },
332   { WINOPTION_YIQ_OVALUE";yiqo",                              "1.570796325",OPTION_FLOAT,     "Outgoing Color Carrier phase offset for NTSC signal processing" },
333   { WINOPTION_YIQ_PVALUE";yiqp",                              "1.0",       OPTION_FLOAT,      "Incoming Pixel Clock scaling value for NTSC signal processing" },
334   { WINOPTION_YIQ_NVALUE";yiqn",                              "1.0",       OPTION_FLOAT,      "Y filter notch width for NTSC signal processing" },
335   { WINOPTION_YIQ_YVALUE";yiqy",                              "6.0",       OPTION_FLOAT,      "Y filter cutoff frequency for NTSC signal processing" },
336   { WINOPTION_YIQ_IVALUE";yiqi",                              "1.2",       OPTION_FLOAT,      "I filter cutoff frequency for NTSC signal processing" },
337   { WINOPTION_YIQ_QVALUE";yiqq",                              "0.6",       OPTION_FLOAT,      "Q filter cutoff frequency for NTSC signal processing" },
338   { WINOPTION_YIQ_SCAN_TIME";yiqsc",                          "52.6",      OPTION_FLOAT,      "Horizontal scanline duration for NTSC signal processing (in usec)" },
339   { WINOPTION_YIQ_PHASE_COUNT";yiqp",                         "2",         OPTION_INTEGER,    "Phase Count value for NTSC signal processing" },
340   { WINOPTION_YIQ_SCAN_TIME";yiqsc",                          "52.6",      OPTION_FLOAT,      "Horizontal scanline duration for NTSC signal processing (in usec)" },
341   { WINOPTION_YIQ_PHASE_COUNT";yiqp",                         "2",         OPTION_INTEGER,    "Phase Count value for NTSC signal processing" },
327   { NULL,                                                     NULL,                OPTION_HEADER,     "NTSC POST-PROCESSING OPTIONS" },
328   { WINOPTION_YIQ_ENABLE";yiq",                               "0",                 OPTION_BOOLEAN,    "enables YIQ-space HLSL post-processing" },
329   { WINOPTION_YIQ_CCVALUE";yiqcc",                            "3.59754545",        OPTION_FLOAT,      "Color Carrier frequency for NTSC signal processing" },
330   { WINOPTION_YIQ_AVALUE";yiqa",                              "0.5",               OPTION_FLOAT,      "A value for NTSC signal processing" },
331   { WINOPTION_YIQ_BVALUE";yiqb",                              "0.5",               OPTION_FLOAT,      "B value for NTSC signal processing" },
332   { WINOPTION_YIQ_OVALUE";yiqo",                              "1.570796325",       OPTION_FLOAT,      "Outgoing Color Carrier phase offset for NTSC signal processing" },
333   { WINOPTION_YIQ_PVALUE";yiqp",                              "1.0",               OPTION_FLOAT,      "Incoming Pixel Clock scaling value for NTSC signal processing" },
334   { WINOPTION_YIQ_NVALUE";yiqn",                              "1.0",               OPTION_FLOAT,      "Y filter notch width for NTSC signal processing" },
335   { WINOPTION_YIQ_YVALUE";yiqy",                              "6.0",               OPTION_FLOAT,      "Y filter cutoff frequency for NTSC signal processing" },
336   { WINOPTION_YIQ_IVALUE";yiqi",                              "1.2",               OPTION_FLOAT,      "I filter cutoff frequency for NTSC signal processing" },
337   { WINOPTION_YIQ_QVALUE";yiqq",                              "0.6",               OPTION_FLOAT,      "Q filter cutoff frequency for NTSC signal processing" },
338   { WINOPTION_YIQ_SCAN_TIME";yiqsc",                          "52.6",              OPTION_FLOAT,      "Horizontal scanline duration for NTSC signal processing (in usec)" },
339   { WINOPTION_YIQ_PHASE_COUNT";yiqp",                         "2",                 OPTION_INTEGER,    "Phase Count value for NTSC signal processing" },
340   { WINOPTION_YIQ_SCAN_TIME";yiqsc",                          "52.6",              OPTION_FLOAT,      "Horizontal scanline duration for NTSC signal processing (in usec)" },
341   { WINOPTION_YIQ_PHASE_COUNT";yiqp",                         "2",                 OPTION_INTEGER,    "Phase Count value for NTSC signal processing" },
342342   /* Vector simulation below this line */
343   { NULL,                                                     NULL,        OPTION_HEADER,     "VECTOR POST-PROCESSING OPTIONS" },
344   { WINOPTION_VECTOR_LENGTH_SCALE";veclength",                "0.8",       OPTION_FLOAT,      "How much length affects vector fade" },
345   { WINOPTION_VECTOR_LENGTH_RATIO";vecsize",                  "500.0",     OPTION_FLOAT,      "Vector fade length (4.0 - vectors fade the most at and above 4 pixels, etc.)" },
343   { NULL,                                                     NULL,                OPTION_HEADER,     "VECTOR POST-PROCESSING OPTIONS" },
344   { WINOPTION_VECTOR_LENGTH_SCALE";veclength",                "0.5",               OPTION_FLOAT,      "How much length affects vector fade" },
345   { WINOPTION_VECTOR_LENGTH_RATIO";vecsize",                  "500.0",             OPTION_FLOAT,      "Vector fade length (4.0 - vectors fade the most at and above 4 pixels, etc.)" },
346346   /* Bloom below this line */
347   { NULL,                                                     NULL,        OPTION_HEADER,     "BLOOM POST-PROCESSING OPTIONS" },
348   { WINOPTION_BLOOM_SCALE,                                    "0.25",      OPTION_FLOAT,      "Intensity factor for bloom" },
349   { WINOPTION_BLOOM_OVERDRIVE,                                "0.0,0.0,0.0",OPTION_STRING,    "Overdrive factor for bloom" },
350   { WINOPTION_BLOOM_LEVEL0_WEIGHT,                            "1.0",       OPTION_FLOAT,      "Bloom level 0  (full-size target) weight" },
351   { WINOPTION_BLOOM_LEVEL1_WEIGHT,                            "0.21",      OPTION_FLOAT,      "Bloom level 1  (half-size target) weight" },
352   { WINOPTION_BLOOM_LEVEL2_WEIGHT,                            "0.19",      OPTION_FLOAT,      "Bloom level 2  (quarter-size target) weight" },
353   { WINOPTION_BLOOM_LEVEL3_WEIGHT,                            "0.17",      OPTION_FLOAT,      "Bloom level 3  (.) weight" },
354   { WINOPTION_BLOOM_LEVEL4_WEIGHT,                            "0.15",      OPTION_FLOAT,      "Bloom level 4  (.) weight" },
355   { WINOPTION_BLOOM_LEVEL5_WEIGHT,                            "0.14",      OPTION_FLOAT,      "Bloom level 5  (.) weight" },
356   { WINOPTION_BLOOM_LEVEL6_WEIGHT,                            "0.13",      OPTION_FLOAT,      "Bloom level 6  (.) weight" },
357   { WINOPTION_BLOOM_LEVEL7_WEIGHT,                            "0.12",      OPTION_FLOAT,      "Bloom level 7  (.) weight" },
358   { WINOPTION_BLOOM_LEVEL8_WEIGHT,                            "0.11",      OPTION_FLOAT,      "Bloom level 8  (.) weight" },
359   { WINOPTION_BLOOM_LEVEL9_WEIGHT,                            "0.10",      OPTION_FLOAT,      "Bloom level 9  (.) weight" },
360   { WINOPTION_BLOOM_LEVEL10_WEIGHT,                           "0.09",      OPTION_FLOAT,      "Bloom level 10 (1x1 target) weight" },
347   { NULL,                                                     NULL,                OPTION_HEADER,     "BLOOM POST-PROCESSING OPTIONS" },
348   { WINOPTION_BLOOM_SCALE,                                    "0.25",              OPTION_FLOAT,      "Intensity factor for bloom" },
349   { WINOPTION_BLOOM_OVERDRIVE,                                "1.0,1.0,1.0",       OPTION_STRING,     "Overdrive factor for bloom" },
350   { WINOPTION_BLOOM_LEVEL0_WEIGHT,                            "1.0",               OPTION_FLOAT,      "Bloom level 0  (full-size target) weight" },
351   { WINOPTION_BLOOM_LEVEL1_WEIGHT,                            "0.64",              OPTION_FLOAT,      "Bloom level 1  (half-size target) weight" },
352   { WINOPTION_BLOOM_LEVEL2_WEIGHT,                            "0.32",              OPTION_FLOAT,      "Bloom level 2  (quarter-size target) weight" },
353   { WINOPTION_BLOOM_LEVEL3_WEIGHT,                            "0.16",              OPTION_FLOAT,      "Bloom level 3  (.) weight" },
354   { WINOPTION_BLOOM_LEVEL4_WEIGHT,                            "0.08",              OPTION_FLOAT,      "Bloom level 4  (.) weight" },
355   { WINOPTION_BLOOM_LEVEL5_WEIGHT,                            "0.04",              OPTION_FLOAT,      "Bloom level 5  (.) weight" },
356   { WINOPTION_BLOOM_LEVEL6_WEIGHT,                            "0.04",              OPTION_FLOAT,      "Bloom level 6  (.) weight" },
357   { WINOPTION_BLOOM_LEVEL7_WEIGHT,                            "0.02",              OPTION_FLOAT,      "Bloom level 7  (.) weight" },
358   { WINOPTION_BLOOM_LEVEL8_WEIGHT,                            "0.02",              OPTION_FLOAT,      "Bloom level 8  (.) weight" },
359   { WINOPTION_BLOOM_LEVEL9_WEIGHT,                            "0.01",              OPTION_FLOAT,      "Bloom level 9  (.) weight" },
360   { WINOPTION_BLOOM_LEVEL10_WEIGHT,                           "0.01",              OPTION_FLOAT,      "Bloom level 10 (1x1 target) weight" },
361361
362362   // full screen options
363363   { NULL,                                           NULL,       OPTION_HEADER,     "FULL SCREEN OPTIONS" },


Previous 199869 Revisions Next


© 1997-2024 The MAME Team