mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'fade-strength' into 'master'
Alpha value for fade colormaps + colormap bug See merge request KartKrew/Kart!477
This commit is contained in:
commit
83988a1cd8
3 changed files with 15 additions and 16 deletions
|
|
@ -284,7 +284,7 @@ struct FSurfaceInfo
|
||||||
typedef struct FSurfaceInfo FSurfaceInfo;
|
typedef struct FSurfaceInfo FSurfaceInfo;
|
||||||
|
|
||||||
#define GL_DEFAULTMIX 0x00000000
|
#define GL_DEFAULTMIX 0x00000000
|
||||||
#define GL_DEFAULTFOG 0xFF000000
|
#define GL_DEFAULTFOG 0x19000000
|
||||||
|
|
||||||
//Hurdler: added for backward compatibility
|
//Hurdler: added for backward compatibility
|
||||||
enum hwdsetspecialstate
|
enum hwdsetspecialstate
|
||||||
|
|
|
||||||
|
|
@ -715,14 +715,15 @@ static GLRGBAFloat shader_defaultcolor = {1.0f, 1.0f, 1.0f, 1.0f};
|
||||||
"float colorBrightness = sqrt((final_color.r * final_color.r) + (final_color.g * final_color.g) + (final_color.b * final_color.b));\n" \
|
"float colorBrightness = sqrt((final_color.r * final_color.r) + (final_color.g * final_color.g) + (final_color.b * final_color.b));\n" \
|
||||||
"float fogBrightness = sqrt((fade_color.r * fade_color.r) + (fade_color.g * fade_color.g) + (fade_color.b * fade_color.b));\n" \
|
"float fogBrightness = sqrt((fade_color.r * fade_color.r) + (fade_color.g * fade_color.g) + (fade_color.b * fade_color.b));\n" \
|
||||||
"float colorIntensity = 0.0;\n" \
|
"float colorIntensity = 0.0;\n" \
|
||||||
"if (fogBrightness > colorBrightness) {\n" \
|
"if (colorBrightness < fogBrightness) {\n" \
|
||||||
"colorIntensity = 1.0 - min(final_color.r, min(final_color.g, final_color.b));\n" \
|
"colorIntensity = 1.0 - min(final_color.r, min(final_color.g, final_color.b));\n" \
|
||||||
"colorIntensity = abs(colorIntensity - (1.0 - fogBrightness));\n" \
|
"colorIntensity = abs(colorIntensity - (1.0 - max(fade_color.r, max(fade_color.g, fade_color.b))));\n" \
|
||||||
"} else {\n" \
|
"} else {\n" \
|
||||||
"colorIntensity = max(final_color.r, max(final_color.g, final_color.b));\n" \
|
"colorIntensity = max(final_color.r, max(final_color.g, final_color.b));\n" \
|
||||||
"colorIntensity = abs(colorIntensity - (fogBrightness));\n" \
|
"colorIntensity = abs(colorIntensity - min(fade_color.r, min(fade_color.g, fade_color.b)));\n" \
|
||||||
"}\n" \
|
"}\n" \
|
||||||
"colorIntensity *= darkness;\n" \
|
"colorIntensity *= darkness;\n" \
|
||||||
|
"colorIntensity *= fade_color.a * 10.0;\n" \
|
||||||
"if (abs(final_color.r - fade_color.r) <= colorIntensity) {\n" \
|
"if (abs(final_color.r - fade_color.r) <= colorIntensity) {\n" \
|
||||||
"final_color.r = fade_color.r;\n" \
|
"final_color.r = fade_color.r;\n" \
|
||||||
"} else if (final_color.r < fade_color.r) {\n" \
|
"} else if (final_color.r < fade_color.r) {\n" \
|
||||||
|
|
|
||||||
22
src/r_data.c
22
src/r_data.c
|
|
@ -615,6 +615,7 @@ lighttable_t *R_CreateLightTable(extracolormap_t *extra_colormap)
|
||||||
{
|
{
|
||||||
double cmaskr, cmaskg, cmaskb, cdestr, cdestg, cdestb, cdestbright;
|
double cmaskr, cmaskg, cmaskb, cdestr, cdestg, cdestb, cdestbright;
|
||||||
double maskamt = 0, othermask = 0;
|
double maskamt = 0, othermask = 0;
|
||||||
|
double fmaskamt = 0, fothermask = 0;
|
||||||
|
|
||||||
UINT8 cr = R_GetRgbaR(extra_colormap->rgba),
|
UINT8 cr = R_GetRgbaR(extra_colormap->rgba),
|
||||||
cg = R_GetRgbaG(extra_colormap->rgba),
|
cg = R_GetRgbaG(extra_colormap->rgba),
|
||||||
|
|
@ -622,8 +623,8 @@ lighttable_t *R_CreateLightTable(extracolormap_t *extra_colormap)
|
||||||
ca = R_GetRgbaA(extra_colormap->rgba),
|
ca = R_GetRgbaA(extra_colormap->rgba),
|
||||||
cfr = R_GetRgbaR(extra_colormap->fadergba),
|
cfr = R_GetRgbaR(extra_colormap->fadergba),
|
||||||
cfg = R_GetRgbaG(extra_colormap->fadergba),
|
cfg = R_GetRgbaG(extra_colormap->fadergba),
|
||||||
cfb = R_GetRgbaB(extra_colormap->fadergba);
|
cfb = R_GetRgbaB(extra_colormap->fadergba),
|
||||||
// cfa = R_GetRgbaA(extra_colormap->fadergba); // unused in software
|
cfa = R_GetRgbaA(extra_colormap->fadergba);
|
||||||
|
|
||||||
UINT8 fadestart = extra_colormap->fadestart,
|
UINT8 fadestart = extra_colormap->fadestart,
|
||||||
fadedist = extra_colormap->fadeend - extra_colormap->fadestart;
|
fadedist = extra_colormap->fadeend - extra_colormap->fadestart;
|
||||||
|
|
@ -654,14 +655,11 @@ lighttable_t *R_CreateLightTable(extracolormap_t *extra_colormap)
|
||||||
cdestb = cfb;
|
cdestb = cfb;
|
||||||
cdestbright = sqrt((cfr*cfr) + (cfg*cfg) + (cfb*cfb));
|
cdestbright = sqrt((cfr*cfr) + (cfg*cfg) + (cfb*cfb));
|
||||||
|
|
||||||
// fade alpha unused in software
|
fmaskamt = (double)(cfa/24.0l);
|
||||||
// maskamt = (double)(cfa/24.0l);
|
fothermask = 1 - fmaskamt;
|
||||||
// othermask = 1 - maskamt;
|
//fmaskamt /= 0xff;
|
||||||
// maskamt /= 0xff;
|
|
||||||
|
|
||||||
// cdestr *= maskamt;
|
(void)fothermask; // unused, but don't feel like commenting it out
|
||||||
// cdestg *= maskamt;
|
|
||||||
// cdestb *= maskamt;
|
|
||||||
|
|
||||||
/////////////////////
|
/////////////////////
|
||||||
// This code creates the colormap array used by software renderer
|
// This code creates the colormap array used by software renderer
|
||||||
|
|
@ -701,16 +699,16 @@ lighttable_t *R_CreateLightTable(extracolormap_t *extra_colormap)
|
||||||
if (cbrightness < cdestbright)
|
if (cbrightness < cdestbright)
|
||||||
{
|
{
|
||||||
cbest = 255.0l - min(r, min(g, b));
|
cbest = 255.0l - min(r, min(g, b));
|
||||||
cdist = 255.0l - cdestbright;
|
cdist = 255.0l - max(cdestr, max(cdestg, cdestb));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cbest = max(r, max(g, b));
|
cbest = max(r, max(g, b));
|
||||||
cdist = cdestbright;
|
cdist = min(cdestr, min(cdestg, cdestb));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add/subtract this value during fading.
|
// Add/subtract this value during fading.
|
||||||
brightChange[i] = fabs(cbest - cdist) / (double)fadedist;
|
brightChange[i] = (fabs(cbest - cdist) / (double)fadedist) * fmaskamt;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now allocate memory for the actual colormap array itself!
|
// Now allocate memory for the actual colormap array itself!
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue