- 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
|
|
@ -162,7 +162,14 @@ void PolyRenderer::RenderActorView(AActor *actor, bool dontmaplines)
|
|||
|
||||
r_modelscene = r_models && Models.Size() > 0;
|
||||
|
||||
ClearBuffers();
|
||||
NextStencilValue = 0;
|
||||
Threads.Clear();
|
||||
Threads.MainThread()->SectorPortals.clear();
|
||||
Threads.MainThread()->LinePortals.clear();
|
||||
Threads.MainThread()->TranslucentObjects.clear();
|
||||
|
||||
PolyTriangleDrawer::ResizeBuffers(RenderTarget);
|
||||
PolyTriangleDrawer::ClearStencil(Threads.MainThread()->DrawQueue, 0);
|
||||
SetSceneViewport();
|
||||
|
||||
PolyPortalViewpoint mainViewpoint = SetupPerspectiveMatrix();
|
||||
|
|
@ -184,16 +191,6 @@ void PolyRenderer::RenderRemainingPlayerSprites()
|
|||
PlayerSprites.RenderRemainingSprites();
|
||||
}
|
||||
|
||||
void PolyRenderer::ClearBuffers()
|
||||
{
|
||||
Threads.Clear();
|
||||
PolyTriangleDrawer::ClearBuffers(RenderTarget);
|
||||
NextStencilValue = 0;
|
||||
Threads.MainThread()->SectorPortals.clear();
|
||||
Threads.MainThread()->LinePortals.clear();
|
||||
Threads.MainThread()->TranslucentObjects.clear();
|
||||
}
|
||||
|
||||
void PolyRenderer::SetSceneViewport()
|
||||
{
|
||||
using namespace swrenderer;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue