mirror of
https://github.com/DrBeef/Raze.git
synced 2025-01-18 15:11:51 +00:00
pr_specularoverride and less retarded default values for the parallax overrides.
git-svn-id: https://svn.eduke32.com/eduke32@1285 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
9b4dae022d
commit
3d6b06e958
3 changed files with 27 additions and 8 deletions
|
@ -43,6 +43,9 @@ extern int32_t pr_gpusmoothing;
|
|||
extern int32_t pr_overrideparallax;
|
||||
extern float pr_parallaxscale;
|
||||
extern float pr_parallaxbias;
|
||||
extern int32_t pr_overridespecular;
|
||||
extern float pr_specularpower;
|
||||
extern float pr_specularfactor;
|
||||
|
||||
extern int32_t glerror;
|
||||
|
||||
|
|
|
@ -14,8 +14,11 @@ int32_t pr_vbos = 2;
|
|||
int32_t pr_mirrordepth = 1;
|
||||
int32_t pr_gpusmoothing = 1;
|
||||
int32_t pr_overrideparallax = 0;
|
||||
float pr_parallaxscale = 0.5f;
|
||||
float pr_parallaxbias = 0.5f;
|
||||
float pr_parallaxscale = 0.1f;
|
||||
float pr_parallaxbias = 0.0f;
|
||||
int32_t pr_overridespecular = 0;
|
||||
float pr_specularpower = 15.0f;
|
||||
float pr_specularfactor = 1.0f;
|
||||
|
||||
int32_t glerror;
|
||||
|
||||
|
@ -478,7 +481,7 @@ _prprogrambit prprogrambits[PR_BIT_COUNT] = {
|
|||
" vec3 spotVector;\n"
|
||||
" vec2 spotCosRadius;\n"
|
||||
" float shadowResult = 1;\n"
|
||||
" vec2 specularMaterial = vec2(1.0, 1.0);\n"
|
||||
" vec2 specularMaterial = vec2(15.0, 1.0);\n"
|
||||
"\n",
|
||||
// frag_prog
|
||||
" gl_FragColor = result;\n"
|
||||
|
@ -2968,7 +2971,8 @@ static void polymer_drawmdsprite(spritetype *tspr)
|
|||
sk->skinnum == tile2model[Ptile2tile(tspr->picnum,lpal)].skinnum &&
|
||||
sk->surfnum == surfi)
|
||||
{
|
||||
mdspritematerial.specmaterial[0] = sk->specpower;
|
||||
if (sk->specpower != 1.0)
|
||||
mdspritematerial.specmaterial[0] = sk->specpower;
|
||||
mdspritematerial.specmaterial[1] = sk->specfactor;
|
||||
}
|
||||
|
||||
|
@ -3102,7 +3106,8 @@ static void polymer_getscratchmaterial(_prmaterial* material)
|
|||
// PR_BIT_SPECULAR_MAP
|
||||
material->specmap = 0;
|
||||
// PR_BIT_SPECULAR_MATERIAL
|
||||
material->specmaterial[0] = material->specmaterial[1] = 1.0f;
|
||||
material->specmaterial[0] = 15.0f;
|
||||
material->specmaterial[1] = 1.0f;
|
||||
// PR_BIT_MIRROR_MAP
|
||||
material->mirrormap = 0;
|
||||
// PR_BIT_GLOW_MAP
|
||||
|
@ -3189,7 +3194,8 @@ static void polymer_getbuildmaterial(_prmaterial* material, int16_t tile
|
|||
// PR_BIT_SPECULAR_MATERIAL
|
||||
if (pth->hicr)
|
||||
{
|
||||
material->specmaterial[0] = pth->hicr->specpower;
|
||||
if (pth->hicr->specpower != 1.0f)
|
||||
material->specmaterial[0] = pth->hicr->specpower;
|
||||
material->specmaterial[1] = pth->hicr->specfactor;
|
||||
}
|
||||
|
||||
|
@ -3244,7 +3250,7 @@ static int32_t polymer_bindmaterial(_prmaterial material, char* lights, int
|
|||
programbits |= prprogrambits[PR_BIT_SPECULAR_MAP].bit;
|
||||
|
||||
// PR_BIT_SPECULAR_MATERIAL
|
||||
if ((material.specmaterial[0] != 1.0) || (material.specmaterial[1] != 1.0))
|
||||
if ((material.specmaterial[0] != 15.0) || (material.specmaterial[1] != 1.0) || pr_overridespecular)
|
||||
programbits |= prprogrambits[PR_BIT_SPECULAR_MATERIAL].bit;
|
||||
|
||||
// PR_BIT_MIRROR_MAP
|
||||
|
@ -3390,7 +3396,14 @@ static int32_t polymer_bindmaterial(_prmaterial material, char* lights, int
|
|||
// PR_BIT_SPECULAR_MATERIAL
|
||||
if (programbits & prprogrambits[PR_BIT_SPECULAR_MATERIAL].bit)
|
||||
{
|
||||
bglUniform2fvARB(prprograms[programbits].uniform_specMaterial, 1, material.specmaterial);
|
||||
float specmaterial[2];
|
||||
|
||||
if (pr_overridespecular) {
|
||||
specmaterial[0] = pr_specularpower;
|
||||
specmaterial[1] = pr_specularfactor;
|
||||
bglUniform2fvARB(prprograms[programbits].uniform_specMaterial, 1, specmaterial);
|
||||
} else
|
||||
bglUniform2fvARB(prprograms[programbits].uniform_specMaterial, 1, material.specmaterial);
|
||||
}
|
||||
|
||||
// PR_BIT_MIRROR_MAP
|
||||
|
|
|
@ -768,6 +768,9 @@ cvar_t cvars[] =
|
|||
{ "pr_overrideparallax", "pr_overrideparallax: overrides parallax mapping scale and bias values with values from the pr_parallaxscale and pr_parallaxbias cvars; use it to fine-tune DEF tokens", (void*)&pr_overrideparallax, CVAR_BOOL, 0, 0, 1 },
|
||||
{ "pr_parallaxscale", "pr_parallaxscale: overriden parallax mapping offset scale", (void*)&pr_parallaxscale, CVAR_FLOAT, 0, -10, 10 },
|
||||
{ "pr_parallaxbias", "pr_parallaxbias: overriden parallax mapping offset bias", (void*)&pr_parallaxbias, CVAR_FLOAT, 0, -10, 10 },
|
||||
{ "pr_overridespecular", "pr_overridespecular: overrides specular material power and factor values with values from the pr_specularpower and pr_specularfactor cvars; use it to fine-tune DEF tokens", (void*)&pr_overridespecular, CVAR_BOOL, 0, 0, 1 },
|
||||
{ "pr_specularpower", "pr_specularpower: overriden specular material power", (void*)&pr_specularpower, CVAR_FLOAT, 0, -10, 1000 },
|
||||
{ "pr_specularfactor", "pr_specularfactor: overriden specular material factor", (void*)&pr_specularfactor, CVAR_FLOAT, 0, -10, 1000 },
|
||||
#endif
|
||||
#endif
|
||||
{ "r_drawweapon", "r_drawweapon: enable/disable weapon drawing", (void*)&ud.drawweapon, CVAR_INT, 0, 0, 2 },
|
||||
|
|
Loading…
Reference in a new issue