- added a software scene drawer to the GL renderer.

It still looks like shit and only works on the modern render path but at least the basics are working.
This commit is contained in:
Christoph Oelckers 2018-04-05 23:08:09 +02:00
commit b34d7f9e08
32 changed files with 564 additions and 297 deletions

View file

@ -54,26 +54,21 @@ PolyRenderer::PolyRenderer()
{
}
void PolyRenderer::RenderView(player_t *player)
void PolyRenderer::RenderView(player_t *player, DCanvas *target)
{
using namespace swrenderer;
if (screen->LockCanvas())
{
RenderTarget = screen->GetCanvas();
RenderTarget = target;
int width = SCREENWIDTH;
int height = SCREENHEIGHT;
float trueratio;
ActiveRatio(width, height, &trueratio);
//viewport->SetViewport(&Thread, width, height, trueratio);
int width = SCREENWIDTH;
int height = SCREENHEIGHT;
float trueratio;
ActiveRatio(width, height, &trueratio);
//viewport->SetViewport(&Thread, width, height, trueratio);
RenderActorView(player->mo, false);
RenderActorView(player->mo, false);
Threads.MainThread()->FlushDrawQueue();
DrawerThreads::WaitForWorkers();
screen->UnlockCanvas();
}
Threads.MainThread()->FlushDrawQueue();
DrawerThreads::WaitForWorkers();
}
void PolyRenderer::RenderViewToCanvas(AActor *actor, DCanvas *canvas, int x, int y, int width, int height, bool dontmaplines)