mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-10 23:01:59 +00:00
- fixed: The global variables holding the view's fixed colormap must be preserved when rendering to a camera texture.
This commit is contained in:
parent
181181a865
commit
af470b3d56
1 changed files with 11 additions and 0 deletions
|
@ -62,6 +62,9 @@
|
|||
extern bool DrawFSHUD; // [RH] Defined in d_main.cpp
|
||||
EXTERN_CVAR (Bool, cl_capfps)
|
||||
|
||||
extern lighttable_t* fixedcolormap;
|
||||
extern FSpecialColormap*realfixedcolormap;
|
||||
|
||||
// TYPES -------------------------------------------------------------------
|
||||
|
||||
struct InterpolationViewer
|
||||
|
@ -1005,6 +1008,11 @@ void FCanvasTextureInfo::UpdateAll ()
|
|||
{
|
||||
FCanvasTextureInfo *probe;
|
||||
|
||||
// curse Doom's overuse of global variables in the renderer.
|
||||
// These get clobbered by rendering to a camera texture but they need to be preserved so the final rendering can be done with the correct palette.
|
||||
unsigned char *savecolormap = fixedcolormap;
|
||||
FSpecialColormap *savecm = realfixedcolormap;
|
||||
|
||||
for (probe = List; probe != NULL; probe = probe->Next)
|
||||
{
|
||||
if (probe->Viewpoint != NULL && probe->Texture->bNeedsUpdate)
|
||||
|
@ -1012,6 +1020,9 @@ void FCanvasTextureInfo::UpdateAll ()
|
|||
Renderer->RenderTextureView(probe->Texture, probe->Viewpoint, probe->FOV);
|
||||
}
|
||||
}
|
||||
|
||||
fixedcolormap = savecolormap;
|
||||
realfixedcolormap = savecm;
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
|
|
Loading…
Reference in a new issue