- move more of the light calculation code to the drawerargs
This commit is contained in:
parent
a73c065811
commit
efb8e39aa9
26 changed files with 202 additions and 279 deletions
|
|
@ -162,7 +162,6 @@ namespace swrenderer
|
|||
vis->Alpha = float(thing->Alpha);
|
||||
vis->fakefloor = fakefloor;
|
||||
vis->fakeceiling = fakeceiling;
|
||||
vis->Light.ColormapNum = 0;
|
||||
vis->bInMirror = renderportal->MirrorFlags & RF_XFLIP;
|
||||
//vis->bSplitSprite = false;
|
||||
|
||||
|
|
@ -192,9 +191,7 @@ namespace swrenderer
|
|||
|
||||
// Fake a voxel drawing to find its extents..
|
||||
SpriteDrawerArgs drawerargs;
|
||||
drawerargs.SetLight(vis->Light.BaseColormap, 0, vis->Light.ColormapNum << FRACBITS);
|
||||
basecolormap = (FDynamicColormap*)vis->Light.BaseColormap;
|
||||
bool visible = drawerargs.SetStyle(thread->Viewport.get(), vis->RenderStyle, vis->Alpha, vis->Translation, vis->FillColor, basecolormap);
|
||||
bool visible = drawerargs.SetStyle(thread->Viewport.get(), vis->RenderStyle, vis->Alpha, vis->Translation, vis->FillColor, vis->Light);
|
||||
if (!visible)
|
||||
return;
|
||||
int flags = vis->bInMirror ? (DVF_MIRRORED | DVF_FIND_X1X2) : DVF_FIND_X1X2;
|
||||
|
|
@ -211,10 +208,7 @@ namespace swrenderer
|
|||
auto viewport = thread->Viewport.get();
|
||||
|
||||
SpriteDrawerArgs drawerargs;
|
||||
drawerargs.SetLight(spr->Light.BaseColormap, 0, spr->Light.ColormapNum << FRACBITS);
|
||||
|
||||
FDynamicColormap *basecolormap = (FDynamicColormap*)spr->Light.BaseColormap;
|
||||
bool visible = drawerargs.SetStyle(viewport, spr->RenderStyle, spr->Alpha, spr->Translation, spr->FillColor, basecolormap);
|
||||
bool visible = drawerargs.SetStyle(viewport, spr->RenderStyle, spr->Alpha, spr->Translation, spr->FillColor, spr->Light);
|
||||
if (!visible)
|
||||
return;
|
||||
|
||||
|
|
@ -908,12 +902,8 @@ namespace swrenderer
|
|||
auto sprite = this;
|
||||
auto viewport = RenderViewport::Instance();
|
||||
|
||||
FDynamicColormap *basecolormap = static_cast<FDynamicColormap*>(sprite->Light.BaseColormap);
|
||||
|
||||
SpriteDrawerArgs drawerargs;
|
||||
drawerargs.SetLight(sprite->Light.BaseColormap, 0, sprite->Light.ColormapNum << FRACBITS);
|
||||
|
||||
bool visible = drawerargs.SetStyle(sprite->RenderStyle, sprite->Alpha, sprite->Translation, sprite->FillColor, basecolormap);
|
||||
bool visible = drawerargs.SetStyle(sprite->RenderStyle, sprite->Alpha, sprite->Translation, sprite->FillColor, sprite->Light);
|
||||
if (!visible)
|
||||
return;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue