- use the worker threads to clear the stencil buffer
This commit is contained in:
parent
8486cd2c0e
commit
de67393b4e
7 changed files with 66 additions and 20 deletions
|
|
@ -106,7 +106,10 @@ namespace swrenderer
|
|||
|
||||
r_modelscene = r_models && Models.Size() > 0;
|
||||
if (r_modelscene)
|
||||
PolyTriangleDrawer::ClearBuffers(viewport->RenderTarget);
|
||||
{
|
||||
PolyTriangleDrawer::ResizeBuffers(viewport->RenderTarget);
|
||||
PolyTriangleDrawer::ClearStencil(MainThread()->DrawQueue, 0);
|
||||
}
|
||||
|
||||
if (r_clearbuffer != 0 || r_debug_draw != 0)
|
||||
{
|
||||
|
|
@ -271,6 +274,9 @@ namespace swrenderer
|
|||
thread->OpaquePass->ResetFakingUnderwater(); // [RH] Hack to make windows into underwater areas possible
|
||||
thread->Portal->SetMainPortal();
|
||||
|
||||
if (r_modelscene && thread->MainThread)
|
||||
PolyTriangleDrawer::ClearStencil(MainThread()->DrawQueue, 0);
|
||||
|
||||
PolyTriangleDrawer::SetViewport(thread->DrawQueue, viewwindowx, viewwindowy, viewwidth, viewheight, thread->Viewport->RenderTarget);
|
||||
|
||||
// Cull things outside the range seen by this thread
|
||||
|
|
@ -376,7 +382,7 @@ namespace swrenderer
|
|||
viewactive = true;
|
||||
viewport->SetViewport(MainThread(), width, height, MainThread()->Viewport->viewwindow.WidescreenRatio);
|
||||
if (r_modelscene)
|
||||
PolyTriangleDrawer::ClearBuffers(viewport->RenderTarget);
|
||||
PolyTriangleDrawer::ResizeBuffers(viewport->RenderTarget);
|
||||
|
||||
// Render:
|
||||
RenderActorView(actor, dontmaplines);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue