WHBGfx - Separate ClearColor() and allow custom colors.

This commit is contained in:
dibas 2018-05-24 20:27:52 +02:00 committed by James Benton
parent da8975303c
commit 203dc66527
2 changed files with 22 additions and 6 deletions

View File

@ -37,6 +37,9 @@ WHBGfxBeginRender();
void
WHBGfxFinishRender();
void
WHBGfxClearColor(float r, float g, float b, float a);
void
WHBGfxBeginRenderDRC();

View File

@ -64,6 +64,9 @@ sTvContextState = NULL;
static GX2ContextState *
sDrcContextState = NULL;
static BOOL
sDrawingTv = FALSE;
static BOOL
sGpuTimedOut = FALSE;
@ -489,13 +492,25 @@ WHBGfxFinishRender()
GX2SetDRCEnable(TRUE);
}
void
WHBGfxClearColor(float r, float g, float b, float a)
{
if (sDrawingTv) {
GX2ClearColor(&sTvColourBuffer, r, g, b, a);
GX2ClearDepthStencilEx(&sTvDepthBuffer, sTvDepthBuffer.depthClear, sTvDepthBuffer.stencilClear, GX2_CLEAR_FLAGS_DEPTH | GX2_CLEAR_FLAGS_STENCIL);
GX2SetContextState(sTvContextState);
} else {
GX2ClearColor(&sDrcColourBuffer, r, g, b, a);
GX2ClearDepthStencilEx(&sDrcDepthBuffer, sDrcDepthBuffer.depthClear, sDrcDepthBuffer.stencilClear, GX2_CLEAR_FLAGS_DEPTH | GX2_CLEAR_FLAGS_STENCIL);
GX2SetContextState(sDrcContextState);
}
}
void
WHBGfxBeginRenderDRC()
{
GX2SetContextState(sDrcContextState);
GX2ClearColor(&sDrcColourBuffer, 0.0f, 1.0f, 0.0f, 1.0f);
GX2ClearDepthStencilEx(&sDrcDepthBuffer, sDrcDepthBuffer.depthClear, sDrcDepthBuffer.stencilClear, GX2_CLEAR_FLAGS_DEPTH | GX2_CLEAR_FLAGS_STENCIL);
GX2SetContextState(sDrcContextState);
sDrawingTv = FALSE;
}
void
@ -508,9 +523,7 @@ void
WHBGfxBeginRenderTV()
{
GX2SetContextState(sTvContextState);
GX2ClearColor(&sTvColourBuffer, 1.0f, 0.0f, 0.0f, 1.0f);
GX2ClearDepthStencilEx(&sTvDepthBuffer, sTvDepthBuffer.depthClear, sTvDepthBuffer.stencilClear, GX2_CLEAR_FLAGS_DEPTH | GX2_CLEAR_FLAGS_STENCIL);
GX2SetContextState(sTvContextState);
sDrawingTv = TRUE;
}
void