- changed rendering of glowing walls so that it doesn't require an additional vertex attribute, just pass the floor and ceiling planes as uniforms.
This commit is contained in:
parent
64d991b9b3
commit
b09405a8bd
9 changed files with 57 additions and 49 deletions
|
|
@ -237,7 +237,18 @@ bool FRenderState::ApplyShader()
|
|||
{
|
||||
glUniform4fv(activeShader->glowtopcolor_index, 1, mGlowTop.vec);
|
||||
glUniform4fv(activeShader->glowbottomcolor_index, 1, mGlowBottom.vec);
|
||||
glUniform4fv(activeShader->glowtopplane_index, 1, mGlowTopPlane.vec);
|
||||
glUniform4fv(activeShader->glowbottomplane_index, 1, mGlowBottomPlane.vec);
|
||||
activeShader->currentglowstate = 1;
|
||||
}
|
||||
else if (activeShader->currentglowstate)
|
||||
{
|
||||
// if glowing is on, disable it.
|
||||
glUniform4f(activeShader->glowtopcolor_index, 0.f, 0.f, 0.f, 0.f);
|
||||
glUniform4f(activeShader->glowbottomcolor_index, 0.f, 0.f, 0.f, 0.f);
|
||||
activeShader->currentglowstate = 0;
|
||||
}
|
||||
|
||||
if (mLightEnabled)
|
||||
{
|
||||
glUniform3iv(activeShader->lightrange_index, 1, mNumLights);
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include <string.h>
|
||||
#include "c_cvars.h"
|
||||
#include "r_defs.h"
|
||||
|
||||
EXTERN_CVAR(Bool, gl_direct_state_change)
|
||||
|
||||
|
|
@ -105,6 +106,7 @@ class FRenderState
|
|||
|
||||
FStateVec3 mCameraPos;
|
||||
FStateVec4 mGlowTop, mGlowBottom;
|
||||
FStateVec4 mGlowTopPlane, mGlowBottomPlane;
|
||||
PalEntry mFogColor;
|
||||
float mFogDensity;
|
||||
|
||||
|
|
@ -184,7 +186,13 @@ public:
|
|||
mGlowBottom.Set(b[0], b[1], b[2], b[3]);
|
||||
}
|
||||
|
||||
void SetDynLight(float r,float g, float b)
|
||||
void SetGlowPlanes(const secplane_t &top, const secplane_t &bottom)
|
||||
{
|
||||
mGlowTopPlane.Set(FIXED2FLOAT(top.a), FIXED2FLOAT(top.b), FIXED2FLOAT(top.ic), FIXED2FLOAT(top.d));
|
||||
mGlowBottomPlane.Set(FIXED2FLOAT(bottom.a), FIXED2FLOAT(bottom.b), FIXED2FLOAT(bottom.ic), FIXED2FLOAT(bottom.d));
|
||||
}
|
||||
|
||||
void SetDynLight(float r, float g, float b)
|
||||
{
|
||||
mDynLight[0] = r;
|
||||
mDynLight[1] = g;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue