- added some checks to exclude dynamic lights from being subjected to shadowmapping if they do not touch any one-sided lines from the back side. This condition is a requirement for a 1D shadowmap to even have an effect.

This commit is contained in:
Christoph Oelckers 2017-03-20 00:34:19 +01:00
commit 1031481167
4 changed files with 50 additions and 21 deletions

View file

@ -60,6 +60,7 @@
#include "r_data/sprites.h"
#include "serializer.h"
#include "wi_stuff.h"
#include "a_dynlight.h"
static TArray<FPropertyInfo*> properties;
static TArray<AFuncDesc> AFTable;
@ -479,6 +480,16 @@ static FFlagDef PlayerPawnFlagDefs[] =
DEFINE_FLAG(PPF, CROUCHABLEMORPH, APlayerPawn, PlayerFlags),
};
static FFlagDef DynLightFlagDefs[] =
{
// PlayerPawn flags
DEFINE_FLAG(MF4, SUBTRACTIVE, ADynamicLight, flags4),
DEFINE_FLAG(MF4, ADDITIVE, ADynamicLight, flags4),
DEFINE_FLAG(MF4, DONTLIGHTSELF, ADynamicLight, flags4),
DEFINE_FLAG(MF4, ATTENUATE, ADynamicLight, flags4),
DEFINE_FLAG(MF4, NOSHADOWMAP, ADynamicLight, flags4),
};
static FFlagDef PowerSpeedFlagDefs[] =
{
// PowerSpeed flags