mirror of
https://github.com/holub/mame
synced 2025-04-21 07:52:35 +03:00
Cleanup (nw)
- renamed shadow_mask_type to shadow_mask_tile_mode - renamed bloom_type to bloom_blend_mode - implemented "Source" shadow mask tile mode for artwork_support/post.fx
This commit is contained in:
parent
1b373eb812
commit
ff77b7897b
@ -19,7 +19,7 @@ Surface/Color Processing Parameters
|
||||
-----------------------------------
|
||||
|
||||
Name Values Description
|
||||
shadow_mask_type 0 or 1 0 for screen tile mode or 1 for source tile mode.
|
||||
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.
|
||||
@ -102,7 +102,7 @@ vector_length_ratio 500.0 Vector fade length (4.0 - vectors fade t
|
||||
Bloom Post-Processing Options
|
||||
-----------------------------
|
||||
Name Default Values Description
|
||||
bloom_type 0 or 1 0 for addition blend mode or 1 for darken blend mode.
|
||||
bloom_blend_mode 0 or 1 0 for addition blend mode or 1 for darken blend mode.
|
||||
bloom_scale 0.500 Bloom intensity factor. (0.000-2.000)
|
||||
bloom_overdrive 0.00,0.00,0.00 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)
|
||||
|
@ -162,12 +162,15 @@ uniform float ScanlineBrightOffset = 1.0f;
|
||||
uniform float ScanlineOffset = 1.0f;
|
||||
uniform float ScanlineHeight = 1.0f;
|
||||
|
||||
uniform float3 BackColor = float3(0.0f, 0.0f, 0.0f);
|
||||
|
||||
uniform float CurvatureAmount = 1.0f;
|
||||
uniform float RoundCornerAmount = 0.0f;
|
||||
uniform float SmoothBorderAmount = 0.0f;
|
||||
uniform float VignettingAmount = 0.0f;
|
||||
uniform float ReflectionAmount = 0.0f;
|
||||
|
||||
uniform int ShadowTileMode = 0; // 0 based on screen dimension, 1 based on source dimension
|
||||
uniform float ShadowAlpha = 0.0f;
|
||||
uniform float2 ShadowCount = float2(6.0f, 6.0f);
|
||||
uniform float2 ShadowUV = float2(0.25f, 0.25f);
|
||||
@ -248,7 +251,7 @@ float GetSpotAddend(float2 coord, float amount)
|
||||
float SpotRadius = amount * 0.75f;
|
||||
float Spot = smoothstep(SpotRadius, SpotRadius - SpotBlur, length(SpotCoord));
|
||||
|
||||
float SigmoidSpot = normalizedSigmoid(Spot, 0.75) * amount;
|
||||
float SigmoidSpot = amount * normalizedSigmoid(Spot, 0.75);
|
||||
|
||||
// increase strength by 100%
|
||||
SigmoidSpot = SigmoidSpot * 2.0f;
|
||||
@ -292,8 +295,6 @@ float GetRoundCornerFactor(float2 coord, float radiusAmount, float smoothAmount)
|
||||
// www.francois-tarlier.com/blog/cubic-lens-distortion-shader/
|
||||
float2 GetDistortedCoords(float2 centerCoord, float amount)
|
||||
{
|
||||
amount *= 0.25f; // reduced amount
|
||||
|
||||
// lens distortion coefficient
|
||||
float k = amount;
|
||||
|
||||
@ -368,19 +369,20 @@ float2 GetAdjustedCoords(float2 coord, float2 centerOffset, float distortionAmou
|
||||
float4 ps_main(PS_INPUT Input) : COLOR
|
||||
{
|
||||
float2 ScreenTexelDims = 1.0f / ScreenDims;
|
||||
float2 SourceTexelDims = 1.0f / SourceDims;
|
||||
|
||||
float2 HalfSourceRect = PrepareVector
|
||||
? float2(0.5f, 0.5f)
|
||||
: SourceRect * 0.5f;
|
||||
|
||||
float2 ScreenCoord = Input.ScreenCoord / ScreenDims;
|
||||
ScreenCoord = GetCoords(ScreenCoord, float2(0.5f, 0.5f), CurvatureAmount);
|
||||
ScreenCoord = GetCoords(ScreenCoord, float2(0.5f, 0.5f), CurvatureAmount * 0.25f); // reduced amount
|
||||
|
||||
float2 DistortionCoord = Input.TexCoord;
|
||||
DistortionCoord = GetCoords(DistortionCoord, HalfSourceRect, CurvatureAmount);
|
||||
DistortionCoord = GetCoords(DistortionCoord, HalfSourceRect, CurvatureAmount * 0.25f); // reduced amount
|
||||
|
||||
float2 BaseCoord = Input.TexCoord;
|
||||
BaseCoord = GetAdjustedCoords(BaseCoord, HalfSourceRect, CurvatureAmount);
|
||||
BaseCoord = GetAdjustedCoords(BaseCoord, HalfSourceRect, CurvatureAmount * 0.25f); // reduced amount
|
||||
|
||||
float2 DistortionCoordCentered = DistortionCoord;
|
||||
DistortionCoordCentered -= HalfSourceRect;
|
||||
@ -409,7 +411,7 @@ float4 ps_main(PS_INPUT Input) : COLOR
|
||||
// ? shadowUV.yx
|
||||
// : shadowUV.xy;
|
||||
|
||||
float2 screenCoord = ScreenCoord;
|
||||
float2 screenCoord = ShadowTileMode == 0 ? ScreenCoord : BaseCoord;
|
||||
screenCoord = xor(OrientationSwapXY, RotationSwapXY)
|
||||
? screenCoord.yx
|
||||
: screenCoord.xy;
|
||||
@ -419,7 +421,7 @@ float4 ps_main(PS_INPUT Input) : COLOR
|
||||
? shadowCount.yx
|
||||
: shadowCount.xy;
|
||||
|
||||
float2 shadowTile = (ScreenTexelDims * shadowCount);
|
||||
float2 shadowTile = ((ShadowTileMode == 0 ? ScreenTexelDims : SourceTexelDims) * shadowCount);
|
||||
shadowTile = xor(OrientationSwapXY, RotationSwapXY)
|
||||
? shadowTile.yx
|
||||
: shadowTile.xy;
|
||||
@ -431,10 +433,14 @@ float4 ps_main(PS_INPUT Input) : COLOR
|
||||
// ? ShadowCoord.yx
|
||||
// : ShadowCoord.xy;
|
||||
|
||||
float3 ShadowColor = tex2D(ShadowSampler, ShadowCoord).rgb;
|
||||
ShadowColor = lerp(1.0f, ShadowColor, ShadowAlpha);
|
||||
float4 ShadowColor = tex2D(ShadowSampler, ShadowCoord);
|
||||
float3 ShadowMaskColor = lerp(1.0f, ShadowColor.rgb, ShadowAlpha);
|
||||
float ShadowMaskClear = (1.0f - ShadowColor.a) * ShadowAlpha;
|
||||
|
||||
BaseColor.rgb *= ShadowColor;
|
||||
// apply shadow mask color
|
||||
BaseColor.rgb *= ShadowMaskColor;
|
||||
// clear shadow mask by background color
|
||||
BaseColor.rgb = lerp(BaseColor.rgb, BackColor, ShadowMaskClear);
|
||||
}
|
||||
|
||||
// Color Compression (may not affect bloom)
|
||||
|
@ -240,7 +240,7 @@ uniform float4 Level0123Weight;
|
||||
uniform float4 Level4567Weight;
|
||||
uniform float3 Level89AWeight;
|
||||
|
||||
uniform int BloomType = 1; // blend mode: 0 addition, 1 darken
|
||||
uniform int BloomBlendMode = 1; // 0 addition, 1 darken
|
||||
uniform float BloomScale;
|
||||
uniform float3 BloomOverdrive;
|
||||
|
||||
@ -267,7 +267,7 @@ float4 ps_main(PS_INPUT Input) : COLOR
|
||||
float3 blend;
|
||||
|
||||
// addition
|
||||
if (BloomType == 0)
|
||||
if (BloomBlendMode == 0)
|
||||
{
|
||||
texel0 *= Level0123Weight.x;
|
||||
texel1 *= Level0123Weight.y;
|
||||
|
@ -71,7 +71,7 @@ uniform float Prescale;
|
||||
VS_OUTPUT vs_main(VS_INPUT Input)
|
||||
{
|
||||
VS_OUTPUT Output = (VS_OUTPUT)0;
|
||||
|
||||
|
||||
float2 invDims = 1.0f / SourceDims;
|
||||
float2 Ratios = SourceRect;
|
||||
Output.Position = float4(Input.Position.xyz, 1.0f);
|
||||
@ -92,7 +92,7 @@ VS_OUTPUT vs_main(VS_INPUT Input)
|
||||
|
||||
Output.CoordX = ((((TexCoord.x / Ratios.x) - 0.5f)) * (1.0f + RadialConvergeX / SourceDims.x) + 0.5f) * Ratios.x + ConvergeX * invDims.x;
|
||||
Output.CoordY = ((((TexCoord.y / Ratios.y) - 0.5f)) * (1.0f + RadialConvergeY / SourceDims.y) + 0.5f) * Ratios.y + ConvergeY * invDims.y;
|
||||
Output.TexCoord = TexCoord;
|
||||
Output.TexCoord = TexCoord;
|
||||
|
||||
return Output;
|
||||
}
|
||||
@ -103,11 +103,11 @@ VS_OUTPUT vs_main(VS_INPUT Input)
|
||||
|
||||
float4 ps_main(PS_INPUT Input) : COLOR
|
||||
{
|
||||
float Alpha = tex2D(DiffuseSampler, Input.TexCoord).a;
|
||||
float Alpha = tex2D(DiffuseSampler, Input.TexCoord).a;
|
||||
float RedTexel = tex2D(DiffuseSampler, float2(Input.CoordX.x, Input.CoordY.x)).r;
|
||||
float GrnTexel = tex2D(DiffuseSampler, float2(Input.CoordX.y, Input.CoordY.y)).g;
|
||||
float BluTexel = tex2D(DiffuseSampler, float2(Input.CoordX.z, Input.CoordY.z)).b;
|
||||
|
||||
|
||||
return float4(RedTexel, GrnTexel, BluTexel, Alpha);
|
||||
}
|
||||
|
||||
|
@ -181,7 +181,7 @@ float GetSpotAddend(float2 coord, float amount)
|
||||
float SpotRadius = amount * 0.75f;
|
||||
float Spot = smoothstep(SpotRadius, SpotRadius - SpotBlur, length(SpotCoord));
|
||||
|
||||
float SigmoidSpot = normalizedSigmoid(Spot, 0.75) * amount;
|
||||
float SigmoidSpot = amount * normalizedSigmoid(Spot, 0.75);
|
||||
|
||||
// increase strength by 100%
|
||||
SigmoidSpot = SigmoidSpot * 2.0f;
|
||||
@ -215,8 +215,6 @@ float GetRoundCornerFactor(float2 coord, float radiusAmount, float smoothAmount)
|
||||
// www.francois-tarlier.com/blog/cubic-lens-distortion-shader/
|
||||
float2 GetDistortedCoords(float2 centerCoord, float amount)
|
||||
{
|
||||
amount *= 0.25f; // reduced amount
|
||||
|
||||
// lens distortion coefficient
|
||||
float k = amount;
|
||||
|
||||
@ -266,7 +264,7 @@ float4 ps_main(PS_INPUT Input) : COLOR
|
||||
float2 BaseCoord = TexCoord;
|
||||
|
||||
// Screen Curvature
|
||||
BaseCoord = GetCoords(BaseCoord, CurvatureAmount);
|
||||
BaseCoord = GetCoords(BaseCoord, CurvatureAmount * 0.25f); // reduced amount
|
||||
|
||||
float2 BaseCoordCentered = BaseCoord;
|
||||
BaseCoordCentered -= 0.5f;
|
||||
|
@ -136,7 +136,7 @@ uniform float ScanlineHeight = 1.0f;
|
||||
|
||||
uniform float3 BackColor = float3(0.0f, 0.0f, 0.0f);
|
||||
|
||||
uniform int ShadowType = 0; // tile mode: 0 based on screen dimension, 1 based on source dimension
|
||||
uniform int ShadowTileMode = 0; // 0 based on screen dimension, 1 based on source dimension
|
||||
uniform float ShadowAlpha = 0.0f;
|
||||
uniform float2 ShadowCount = float2(6.0f, 6.0f);
|
||||
uniform float2 ShadowUV = float2(0.25f, 0.25f);
|
||||
@ -195,7 +195,7 @@ float4 ps_main(PS_INPUT Input) : COLOR
|
||||
// ? shadowUV.yx
|
||||
// : shadowUV.xy;
|
||||
|
||||
float2 screenCoord = ShadowType == 0 ? ScreenCoord : BaseCoord;
|
||||
float2 screenCoord = ShadowTileMode == 0 ? ScreenCoord : BaseCoord;
|
||||
screenCoord = xor(OrientationSwapXY, RotationSwapXY)
|
||||
? screenCoord.yx
|
||||
: screenCoord.xy;
|
||||
@ -205,7 +205,7 @@ float4 ps_main(PS_INPUT Input) : COLOR
|
||||
? shadowCount.yx
|
||||
: shadowCount.xy;
|
||||
|
||||
float2 shadowTile = ((ShadowType == 0 ? ScreenTexelDims : SourceTexelDims) * shadowCount);
|
||||
float2 shadowTile = ((ShadowTileMode == 0 ? ScreenTexelDims : SourceTexelDims) * shadowCount);
|
||||
shadowTile = xor(OrientationSwapXY, RotationSwapXY)
|
||||
? shadowTile.yx
|
||||
: shadowTile.xy;
|
||||
|
@ -688,7 +688,7 @@ void shaders::init(base *d3dintf, running_machine *machine, d3d::renderer *rende
|
||||
if (!options->params_init)
|
||||
{
|
||||
strncpy(options->shadow_mask_texture, winoptions.screen_shadow_mask_texture(), sizeof(options->shadow_mask_texture));
|
||||
options->shadow_mask_type = winoptions.screen_shadow_mask_type();
|
||||
options->shadow_mask_tile_mode = winoptions.screen_shadow_mask_tile_mode();
|
||||
options->shadow_mask_alpha = winoptions.screen_shadow_mask_alpha();
|
||||
options->shadow_mask_count_x = winoptions.screen_shadow_mask_count_x();
|
||||
options->shadow_mask_count_y = winoptions.screen_shadow_mask_count_y();
|
||||
@ -735,7 +735,7 @@ void shaders::init(base *d3dintf, running_machine *machine, d3d::renderer *rende
|
||||
options->yiq_phase_count = winoptions.screen_yiq_phase_count();
|
||||
options->vector_length_scale = winoptions.screen_vector_length_scale();
|
||||
options->vector_length_ratio = winoptions.screen_vector_length_ratio();
|
||||
options->bloom_type = winoptions.screen_bloom_type();
|
||||
options->bloom_blend_mode = winoptions.screen_bloom_blend_mode();
|
||||
options->bloom_scale = winoptions.screen_bloom_scale();
|
||||
get_vector(winoptions.screen_bloom_overdrive(), 3, options->bloom_overdrive, TRUE);
|
||||
options->bloom_level0_weight = winoptions.screen_bloom_lvl0_weight();
|
||||
@ -1300,12 +1300,12 @@ rgb_t shaders::apply_color_convolution(rgb_t color)
|
||||
float rShifted = r * rRatio[0] + g * rRatio[1] + b * rRatio[2];
|
||||
float gShifted = r * gRatio[0] + g * gRatio[1] + b * gRatio[2];
|
||||
float bShifted = r * bRatio[0] + g * bRatio[1] + b * bRatio[2];
|
||||
|
||||
|
||||
// RGB Scale & Offset
|
||||
r = rShifted * scale[0] + offset[0];
|
||||
g = gShifted * scale[1] + offset[1];
|
||||
b = bShifted * scale[2] + offset[2];
|
||||
|
||||
|
||||
// Saturation
|
||||
float grayscale[3] = { 0.299f, 0.587f, 0.114f };
|
||||
float luma = r * grayscale[0] + g * grayscale[1] + b * grayscale[2];
|
||||
@ -1440,7 +1440,7 @@ int shaders::post_pass(render_target *rt, int source_index, poly_info *poly, int
|
||||
rgb_t back_color_rgb = machine->first_screen()->palette() == NULL
|
||||
? rgb_t(0, 0, 0)
|
||||
: machine->first_screen()->palette()->palette()->entry_color(0);
|
||||
back_color_rgb = apply_color_convolution(back_color_rgb);
|
||||
back_color_rgb = apply_color_convolution(back_color_rgb);
|
||||
float back_color[3] = {
|
||||
static_cast<float>(back_color_rgb.r()) / 255.0f,
|
||||
static_cast<float>(back_color_rgb.g()) / 255.0f,
|
||||
@ -1449,7 +1449,7 @@ int shaders::post_pass(render_target *rt, int source_index, poly_info *poly, int
|
||||
curr_effect = post_effect;
|
||||
curr_effect->update_uniforms();
|
||||
curr_effect->set_texture("ShadowTexture", shadow_texture == NULL ? NULL : shadow_texture->get_finaltex());
|
||||
curr_effect->set_int("ShadowType", options->shadow_mask_type);
|
||||
curr_effect->set_int("ShadowTileMode", options->shadow_mask_tile_mode);
|
||||
curr_effect->set_texture("DiffuseTexture", rt->prescale_texture[next_index]);
|
||||
curr_effect->set_vector("BackColor", 3, back_color);
|
||||
curr_effect->set_vector("ScreenScale", 2, screen_scale);
|
||||
@ -1552,7 +1552,7 @@ int shaders::bloom_pass(render_target *rt, int source_index, poly_info *poly, in
|
||||
curr_effect->set_vector("Level89Size", 4, bloom_dims[8]);
|
||||
curr_effect->set_vector("LevelASize", 2, bloom_dims[10]);
|
||||
|
||||
curr_effect->set_int("BloomType", options->bloom_type);
|
||||
curr_effect->set_int("BloomBlendMode", options->bloom_blend_mode);
|
||||
curr_effect->set_float("BloomScale", bloom_rescale);
|
||||
curr_effect->set_vector("BloomOverdrive", 3, options->bloom_overdrive);
|
||||
|
||||
@ -2276,20 +2276,20 @@ static INT32 slider_set(float *option, float scale, const char *fmt, std::string
|
||||
return floor(*option / scale + 0.5f);
|
||||
}
|
||||
|
||||
static INT32 slider_shadow_mask_type(running_machine &machine, void *arg, std::string *str, INT32 newval)
|
||||
static INT32 slider_shadow_mask_tile_mode(running_machine &machine, void *arg, std::string *str, INT32 newval)
|
||||
{
|
||||
hlsl_options *options = (hlsl_options*)arg;
|
||||
if (newval != SLIDER_NOCHANGE)
|
||||
{
|
||||
options->shadow_mask_type = newval;
|
||||
options->shadow_mask_tile_mode = newval;
|
||||
}
|
||||
if (str != NULL)
|
||||
{
|
||||
strprintf(*str, "%s", options->shadow_mask_type == 0 ? "Screen" : "Source");
|
||||
strprintf(*str, "%s", options->shadow_mask_tile_mode == 0 ? "Screen" : "Source");
|
||||
}
|
||||
options->params_dirty = true;
|
||||
|
||||
return options->shadow_mask_type;
|
||||
return options->shadow_mask_tile_mode;
|
||||
}
|
||||
|
||||
static INT32 slider_shadow_mask_alpha(running_machine &machine, void *arg, std::string *str, INT32 newval)
|
||||
@ -2666,20 +2666,20 @@ static INT32 slider_vector_length_max(running_machine &machine, void *arg, std::
|
||||
return slider_set(&(((hlsl_options*)arg)->vector_length_ratio), 1.0f, "%4f", str, newval);
|
||||
}
|
||||
|
||||
static INT32 slider_bloom_type(running_machine &machine, void *arg, std::string *str, INT32 newval)
|
||||
static INT32 slider_bloom_blend_mode(running_machine &machine, void *arg, std::string *str, INT32 newval)
|
||||
{
|
||||
hlsl_options *options = (hlsl_options*)arg;
|
||||
if (newval != SLIDER_NOCHANGE)
|
||||
{
|
||||
options->bloom_type = newval;
|
||||
options->bloom_blend_mode = newval;
|
||||
}
|
||||
if (str != NULL)
|
||||
{
|
||||
strprintf(*str, "%s", options->bloom_type == 0 ? "Addition" : "Darken");
|
||||
strprintf(*str, "%s", options->bloom_blend_mode == 0 ? "Addition" : "Darken");
|
||||
}
|
||||
options->params_dirty = true;
|
||||
|
||||
return options->bloom_type;
|
||||
return options->bloom_blend_mode;
|
||||
}
|
||||
|
||||
static INT32 slider_bloom_scale(running_machine &machine, void *arg, std::string *str, INT32 newval)
|
||||
@ -2778,7 +2778,7 @@ shaders::slider_desc shaders::s_sliders[] =
|
||||
{
|
||||
{ "Vector Length Attenuation", 0, 50, 100, 1, 2, slider_vector_attenuation },
|
||||
{ "Vector Attenuation Length Limit", 1, 500, 1000, 1, 2, slider_vector_length_max },
|
||||
{ "Shadow Mask Type", 0, 0, 1, 1, 7, slider_shadow_mask_type },
|
||||
{ "Shadow Mask Tile Mode", 0, 0, 1, 1, 7, slider_shadow_mask_tile_mode },
|
||||
{ "Shadow Mask Darkness", 0, 0, 100, 1, 7, slider_shadow_mask_alpha },
|
||||
{ "Shadow Mask X Count", 1, 1, 1024, 1, 7, slider_shadow_mask_x_count },
|
||||
{ "Shadow Mask Y Count", 1, 1, 1024, 1, 7, slider_shadow_mask_y_count },
|
||||
@ -2836,7 +2836,7 @@ shaders::slider_desc shaders::s_sliders[] =
|
||||
{ "Red Phosphor Life", 0, 0, 100, 1, 7, slider_red_phosphor_life },
|
||||
{ "Green Phosphor Life", 0, 0, 100, 1, 7, slider_green_phosphor_life },
|
||||
{ "Blue Phosphor Life", 0, 0, 100, 1, 7, slider_blue_phosphor_life },
|
||||
{ "Bloom Type", 0, 0, 1, 1, 7, slider_bloom_type },
|
||||
{ "Bloom Blend Mode", 0, 0, 1, 1, 7, slider_bloom_blend_mode },
|
||||
{ "Bloom Scale", 0, 0, 2000, 5, 7, slider_bloom_scale },
|
||||
{ "Bloom Red Overdrive", 0, 0, 2000, 5, 7, slider_bloom_red_overdrive },
|
||||
{ "Bloom Green Overdrive", 0, 0, 2000, 5, 7, slider_bloom_green_overdrive },
|
||||
@ -2988,11 +2988,11 @@ void uniform::update()
|
||||
}
|
||||
|
||||
case CU_ORIENTATION_SWAP:
|
||||
{
|
||||
{
|
||||
bool orientation_swap_xy =
|
||||
(d3d->window().machine().system().flags & ORIENTATION_SWAP_XY) == ORIENTATION_SWAP_XY;
|
||||
m_shader->set_bool("OrientationSwapXY", orientation_swap_xy);
|
||||
|
||||
|
||||
}
|
||||
case CU_ROTATION_SWAP:
|
||||
{
|
||||
|
@ -195,7 +195,7 @@ struct hlsl_options
|
||||
{
|
||||
bool params_init;
|
||||
bool params_dirty;
|
||||
int shadow_mask_type;
|
||||
int shadow_mask_tile_mode;
|
||||
float shadow_mask_alpha;
|
||||
char shadow_mask_texture[1024];
|
||||
int shadow_mask_count_x;
|
||||
@ -249,7 +249,7 @@ struct hlsl_options
|
||||
float vector_length_ratio;
|
||||
|
||||
// Bloom
|
||||
int bloom_type;
|
||||
int bloom_blend_mode;
|
||||
float bloom_scale;
|
||||
float bloom_overdrive[3];
|
||||
float bloom_level0_weight;
|
||||
|
@ -288,7 +288,7 @@ const options_entry windows_options::s_option_entries[] =
|
||||
{ WINOPTION_HLSL_WRITE, NULL, OPTION_STRING, "enables HLSL AVI writing (huge disk bandwidth suggested)" },
|
||||
{ WINOPTION_HLSL_SNAP_WIDTH, "2048", OPTION_STRING, "HLSL upscaled-snapshot width" },
|
||||
{ WINOPTION_HLSL_SNAP_HEIGHT, "1536", OPTION_STRING, "HLSL upscaled-snapshot height" },
|
||||
{ WINOPTION_SHADOW_MASK_TYPE";fs_shadwt", "0", OPTION_INTEGER, "shadow mask tile mode (0 for screen based, 1 for source based)" },
|
||||
{ WINOPTION_SHADOW_MASK_TILE_MODE, "0", OPTION_INTEGER, "shadow mask tile mode (0 for screen based, 1 for source based)" },
|
||||
{ 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)" },
|
||||
{ WINOPTION_SHADOW_MASK_TEXTURE";fs_shadwt(0.0-1.0)", "shadow-mask.png", OPTION_STRING, "shadow mask texture name" },
|
||||
{ WINOPTION_SHADOW_MASK_COUNT_X";fs_shadww", "6", OPTION_INTEGER, "shadow mask tile width, in screen dimensions" },
|
||||
@ -346,7 +346,7 @@ const options_entry windows_options::s_option_entries[] =
|
||||
{ WINOPTION_VECTOR_LENGTH_RATIO";vecsize", "500.0", OPTION_FLOAT, "Vector fade length (4.0 - vectors fade the most at and above 4 pixels, etc.)" },
|
||||
/* Bloom below this line */
|
||||
{ NULL, NULL, OPTION_HEADER, "BLOOM POST-PROCESSING OPTIONS" },
|
||||
{ WINOPTION_BLOOM_TYPE, "0", OPTION_INTEGER, "bloom blend mode (0 for addition, 1 for darken)" },
|
||||
{ WINOPTION_BLOOM_BLEND_MODE, "0", OPTION_INTEGER, "bloom blend mode (0 for addition, 1 for darken)" },
|
||||
{ WINOPTION_BLOOM_SCALE, "0.25", OPTION_FLOAT, "Intensity factor for bloom" },
|
||||
{ WINOPTION_BLOOM_OVERDRIVE, "1.0,1.0,1.0", OPTION_STRING, "Overdrive factor for bloom" },
|
||||
{ WINOPTION_BLOOM_LEVEL0_WEIGHT, "1.0", OPTION_FLOAT, "Bloom level 0 (full-size target) weight" },
|
||||
|
@ -36,7 +36,7 @@
|
||||
#define WINOPTION_HLSL_WRITE "hlsl_write"
|
||||
#define WINOPTION_HLSL_SNAP_WIDTH "hlsl_snap_width"
|
||||
#define WINOPTION_HLSL_SNAP_HEIGHT "hlsl_snap_height"
|
||||
#define WINOPTION_SHADOW_MASK_TYPE "shadow_mask_type"
|
||||
#define WINOPTION_SHADOW_MASK_TILE_MODE "shadow_mask_tile_mode"
|
||||
#define WINOPTION_SHADOW_MASK_ALPHA "shadow_mask_alpha"
|
||||
#define WINOPTION_SHADOW_MASK_TEXTURE "shadow_mask_texture"
|
||||
#define WINOPTION_SHADOW_MASK_COUNT_X "shadow_mask_x_count"
|
||||
@ -85,7 +85,7 @@
|
||||
#define WINOPTION_VECTOR_LENGTH_SCALE "vector_length_scale"
|
||||
#define WINOPTION_VECTOR_LENGTH_RATIO "vector_length_ratio"
|
||||
#define WINOPTION_VECTOR_TIME_PERIOD "vector_time_period"
|
||||
#define WINOPTION_BLOOM_TYPE "bloom_type"
|
||||
#define WINOPTION_BLOOM_BLEND_MODE "bloom_blend_mode"
|
||||
#define WINOPTION_BLOOM_SCALE "bloom_scale"
|
||||
#define WINOPTION_BLOOM_OVERDRIVE "bloom_overdrive"
|
||||
#define WINOPTION_BLOOM_LEVEL0_WEIGHT "bloom_lvl0_weight"
|
||||
@ -140,7 +140,7 @@ public:
|
||||
int d3d_hlsl_prescale_y() const { return int_value(WINOPTION_HLSL_PRESCALE_Y); }
|
||||
int d3d_snap_width() const { return int_value(WINOPTION_HLSL_SNAP_WIDTH); }
|
||||
int d3d_snap_height() const { return int_value(WINOPTION_HLSL_SNAP_HEIGHT); }
|
||||
int screen_shadow_mask_type() const { return int_value(WINOPTION_SHADOW_MASK_TYPE); }
|
||||
int screen_shadow_mask_tile_mode() const { return int_value(WINOPTION_SHADOW_MASK_TILE_MODE); }
|
||||
float screen_shadow_mask_alpha() const { return float_value(WINOPTION_SHADOW_MASK_ALPHA); }
|
||||
const char *screen_shadow_mask_texture() const { return value(WINOPTION_SHADOW_MASK_TEXTURE); }
|
||||
int screen_shadow_mask_count_x() const { return int_value(WINOPTION_SHADOW_MASK_COUNT_X); }
|
||||
@ -183,7 +183,7 @@ public:
|
||||
float screen_vector_length_scale() const { return float_value(WINOPTION_VECTOR_LENGTH_SCALE); }
|
||||
float screen_vector_length_ratio() const { return float_value(WINOPTION_VECTOR_LENGTH_RATIO); }
|
||||
float screen_vector_time_period() const { return float_value(WINOPTION_VECTOR_TIME_PERIOD); }
|
||||
int screen_bloom_type() const { return int_value(WINOPTION_BLOOM_TYPE); }
|
||||
int screen_bloom_blend_mode() const { return int_value(WINOPTION_BLOOM_BLEND_MODE); }
|
||||
float screen_bloom_scale() const { return float_value(WINOPTION_BLOOM_SCALE); }
|
||||
const char *screen_bloom_overdrive() const { return value(WINOPTION_BLOOM_OVERDRIVE); }
|
||||
float screen_bloom_lvl0_weight() const { return float_value(WINOPTION_BLOOM_LEVEL0_WEIGHT); }
|
||||
|
Loading…
Reference in New Issue
Block a user