- use subdivide on line surface lights as well

- removed some dead code
This commit is contained in:
Magnus Norddahl 2018-11-03 00:45:29 +01:00
parent a034992280
commit dce5c510e3
4 changed files with 6 additions and 20 deletions

View file

@ -288,12 +288,8 @@ struct thingLight_t
struct surfaceLightDef struct surfaceLightDef
{ {
int tag;
float distance; float distance;
float intensity; float intensity;
bool bIgnoreFloor;
bool bIgnoreCeiling;
bool bNoCenterPoint;
kexVec3 rgb; kexVec3 rgb;
}; };

View file

@ -45,14 +45,13 @@ kexLightSurface::~kexLightSurface()
{ {
} }
void kexLightSurface::Init(const surfaceLightDef &lightSurfaceDef, surface_t *surface, const bool bWall, const bool bNoCenterPoint) void kexLightSurface::Init(const surfaceLightDef &lightSurfaceDef, surface_t *surface, const bool bWall)
{ {
this->intensity = lightSurfaceDef.intensity; this->intensity = lightSurfaceDef.intensity;
this->distance = lightSurfaceDef.distance; this->distance = lightSurfaceDef.distance;
this->rgb = lightSurfaceDef.rgb; this->rgb = lightSurfaceDef.rgb;
this->surface = surface; this->surface = surface;
this->bWall = bWall; this->bWall = bWall;
this->bNoCenterPoint = bNoCenterPoint;
} }
// Creates a single origin point if we're not intending on subdividing this light surface // Creates a single origin point if we're not intending on subdividing this light surface

View file

@ -39,7 +39,7 @@ public:
kexLightSurface(); kexLightSurface();
~kexLightSurface(); ~kexLightSurface();
void Init(const surfaceLightDef &lightSurfaceDef, surface_t *surface, const bool bWall, const bool bNoCenterPoint); void Init(const surfaceLightDef &lightSurfaceDef, surface_t *surface, const bool bWall);
void Subdivide(const float divide); void Subdivide(const float divide);
void CreateCenterOrigin(); void CreateCenterOrigin();
float TraceSurface(FLevel *doomMap, kexTrace &trace, const surface_t *surface, const kexVec3 &origin); float TraceSurface(FLevel *doomMap, kexTrace &trace, const surface_t *surface, const kexVec3 &origin);
@ -48,7 +48,6 @@ public:
const float Intensity() const { return intensity; } const float Intensity() const { return intensity; }
const kexVec3 GetRGB() const { return rgb; } const kexVec3 GetRGB() const { return rgb; }
const bool IsAWall() const { return bWall; } const bool IsAWall() const { return bWall; }
const bool NoCenterPoint() const { return bNoCenterPoint; }
const surface_t *Surface() const { return surface; } const surface_t *Surface() const { return surface; }
const vertexBatch_t Origins() const { return origins; } const vertexBatch_t Origins() const { return origins; }
@ -60,7 +59,6 @@ private:
float intensity; float intensity;
kexVec3 rgb; kexVec3 rgb;
bool bWall; bool bWall;
bool bNoCenterPoint;
vertexBatch_t origins; vertexBatch_t origins;
surface_t *surface; surface_t *surface;
}; };

View file

@ -272,19 +272,16 @@ void FLevel::CreateLights()
if (lightdistance > 0.0f && lightintensity > 0.0f && lightcolor != 0) if (lightdistance > 0.0f && lightintensity > 0.0f && lightcolor != 0)
{ {
surfaceLightDef desc; surfaceLightDef desc;
desc.tag = 0;
desc.intensity = lightintensity; desc.intensity = lightintensity;
desc.distance = lightdistance; desc.distance = lightdistance;
desc.bIgnoreCeiling = false;
desc.bIgnoreFloor = false;
desc.bNoCenterPoint = false;
desc.rgb.x = ((lightcolor >> 16) & 0xff) / 255.0f; desc.rgb.x = ((lightcolor >> 16) & 0xff) / 255.0f;
desc.rgb.y = ((lightcolor >> 8) & 0xff) / 255.0f; desc.rgb.y = ((lightcolor >> 8) & 0xff) / 255.0f;
desc.rgb.z = (lightcolor & 0xff) / 255.0f; desc.rgb.z = (lightcolor & 0xff) / 255.0f;
kexLightSurface *lightSurface = new kexLightSurface(); kexLightSurface *lightSurface = new kexLightSurface();
lightSurface->Init(desc, surface, true, false); lightSurface->Init(desc, surface, true);
lightSurface->CreateCenterOrigin(); lightSurface->Subdivide(16);
//lightSurface->CreateCenterOrigin();
lightSurfaces.Push(lightSurface); lightSurfaces.Push(lightSurface);
numSurfLights++; numSurfLights++;
} }
@ -339,18 +336,14 @@ void FLevel::CreateLights()
if (lightdistance > 0.0f && lightintensity > 0.0f && lightcolor != 0) if (lightdistance > 0.0f && lightintensity > 0.0f && lightcolor != 0)
{ {
surfaceLightDef desc; surfaceLightDef desc;
desc.tag = 0;
desc.intensity = lightintensity; desc.intensity = lightintensity;
desc.distance = lightdistance; desc.distance = lightdistance;
desc.bIgnoreCeiling = false;
desc.bIgnoreFloor = false;
desc.bNoCenterPoint = false;
desc.rgb.x = ((lightcolor >> 16) & 0xff) / 255.0f; desc.rgb.x = ((lightcolor >> 16) & 0xff) / 255.0f;
desc.rgb.y = ((lightcolor >> 8) & 0xff) / 255.0f; desc.rgb.y = ((lightcolor >> 8) & 0xff) / 255.0f;
desc.rgb.z = (lightcolor & 0xff) / 255.0f; desc.rgb.z = (lightcolor & 0xff) / 255.0f;
kexLightSurface *lightSurface = new kexLightSurface(); kexLightSurface *lightSurface = new kexLightSurface();
lightSurface->Init(desc, surface, false, desc.bNoCenterPoint); lightSurface->Init(desc, surface, false);
lightSurface->Subdivide(16); lightSurface->Subdivide(16);
lightSurfaces.Push(lightSurface); lightSurfaces.Push(lightSurface);
numSurfLights++; numSurfLights++;