Moving the letterbox clear for the embedded player so it only clears when it needs to. Thanks to Juha Mäki-Kanto for the tip.
This commit is contained in:
@@ -429,22 +429,22 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct ARegion *ar, rcti *c
|
||||
{
|
||||
// first check if we want to exit
|
||||
exitrequested = ketsjiengine->GetExitCode();
|
||||
|
||||
if(draw_letterbox) {
|
||||
// Clear screen to border color
|
||||
// We do this here since we set the canvas to be within the frames. This means the engine
|
||||
// itself is unaware of the extra space, so we clear the whole region for it.
|
||||
glClearColor(scene->gm.framing.col[0], scene->gm.framing.col[1], scene->gm.framing.col[2], 1.0f);
|
||||
glViewport(ar->winrct.xmin, ar->winrct.ymin,
|
||||
ar->winrct.xmax - ar->winrct.xmin, ar->winrct.ymax - ar->winrct.ymin);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
}
|
||||
|
||||
// kick the engine
|
||||
bool render = ketsjiengine->NextFrame();
|
||||
|
||||
if (render)
|
||||
{
|
||||
if(draw_letterbox) {
|
||||
// Clear screen to border color
|
||||
// We do this here since we set the canvas to be within the frames. This means the engine
|
||||
// itself is unaware of the extra space, so we clear the whole region for it.
|
||||
glClearColor(scene->gm.framing.col[0], scene->gm.framing.col[1], scene->gm.framing.col[2], 1.0f);
|
||||
glViewport(ar->winrct.xmin, ar->winrct.ymin,
|
||||
ar->winrct.xmax - ar->winrct.xmin, ar->winrct.ymax - ar->winrct.ymin);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
}
|
||||
|
||||
// render the frame
|
||||
ketsjiengine->Render();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user