- weapon drawing code refactor complete.
Setup and drawing are now done separately, this also no longer needs the Quad drawer.
This commit is contained in:
parent
2be84dc636
commit
52d73eabbf
10 changed files with 195 additions and 191 deletions
|
|
@ -261,6 +261,8 @@ void GLSceneDrawer::CreateScene()
|
|||
gl_drawinfo->mShadowMap = &GLRenderer->mShadowMap;
|
||||
|
||||
RenderBSPNode (level.HeadNode());
|
||||
gl_drawinfo->PreparePlayerSprites(r_viewpoint.sector, in_area);
|
||||
|
||||
// Process all the sprites on the current portal's back side which touch the portal.
|
||||
if (GLRenderer->mCurrentPortal != NULL) GLRenderer->mCurrentPortal->RenderAttached();
|
||||
Bsp.Unclock();
|
||||
|
|
@ -272,7 +274,6 @@ void GLSceneDrawer::CreateScene()
|
|||
gl_drawinfo->HandleMissingTextures(in_area); // Missing upper/lower textures
|
||||
gl_drawinfo->HandleHackedSubsectors(); // open sector hacks for deep water
|
||||
gl_drawinfo->ProcessSectorStacks(in_area); // merge visplanes of sector stacks
|
||||
SetupWeaponLight();
|
||||
GLRenderer->mLights->Finish();
|
||||
GLRenderer->mVBO->Unmap();
|
||||
|
||||
|
|
@ -508,15 +509,13 @@ void GLSceneDrawer::EndDrawScene(sector_t * viewsector)
|
|||
{
|
||||
gl_RenderState.EnableFog(false);
|
||||
|
||||
// [BB] HUD models need to be rendered here. Make sure that
|
||||
// DrawPlayerSprites is only called once. Either to draw
|
||||
// HUD models or to draw the weapon sprites.
|
||||
// [BB] HUD models need to be rendered here.
|
||||
const bool renderHUDModel = gl_IsHUDModelForPlayerAvailable( players[consoleplayer].camera->player );
|
||||
if ( renderHUDModel )
|
||||
{
|
||||
// [BB] The HUD model should be drawn over everything else already drawn.
|
||||
glClear(GL_DEPTH_BUFFER_BIT);
|
||||
DrawPlayerSprites (viewsector, true);
|
||||
gl_drawinfo->DrawPlayerSprites(true);
|
||||
}
|
||||
|
||||
glDisable(GL_STENCIL_TEST);
|
||||
|
|
@ -550,11 +549,8 @@ void GLSceneDrawer::DrawEndScene2D(sector_t * viewsector)
|
|||
glDisable(GL_MULTISAMPLE);
|
||||
|
||||
|
||||
// [BB] Only draw the sprites if we didn't render a HUD model before.
|
||||
if (renderHUDModel == false)
|
||||
{
|
||||
DrawPlayerSprites(viewsector, false);
|
||||
}
|
||||
gl_drawinfo->DrawPlayerSprites(false);
|
||||
|
||||
if (gl.legacyMode)
|
||||
{
|
||||
gl_RenderState.DrawColormapOverlay();
|
||||
|
|
@ -562,7 +558,6 @@ void GLSceneDrawer::DrawEndScene2D(sector_t * viewsector)
|
|||
|
||||
gl_RenderState.SetFixedColormap(CM_DEFAULT);
|
||||
gl_RenderState.SetSoftLightLevel(-1);
|
||||
DrawTargeterSprites();
|
||||
if (!FGLRenderBuffers::IsEnabled())
|
||||
{
|
||||
DrawBlend(viewsector);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue