- added GL render as of SVN revision 1600.

This commit is contained in:
Christoph Oelckers 2013-06-23 09:49:34 +02:00
commit 399d0974ab
103 changed files with 51414 additions and 23 deletions

View file

@ -36,6 +36,7 @@
#include <signal.h>
#include <time.h>
#include "version.h"
#include "hardware.h"
#include "i_video.h"
#include "i_system.h"
@ -46,6 +47,7 @@
#include "v_text.h"
#include "doomstat.h"
#include "m_argv.h"
#include "sdlglvideo.h"
#include "r_renderer.h"
#include "r_swrenderer.h"
@ -55,6 +57,37 @@ EXTERN_CVAR (Float, vid_winscale)
IVideo *Video;
extern int NewWidth, NewHeight, NewBits, DisplayBits;
bool V_DoModeSetup (int width, int height, int bits);
void I_RestartRenderer();
int currentrenderer;
// [ZDoomGL]
CUSTOM_CVAR (Int, vid_renderer, 1, CVAR_ARCHIVE | CVAR_GLOBALCONFIG | CVAR_NOINITCALL)
{
// 0: Software renderer
// 1: OpenGL renderer
if (self != currentrenderer)
{
switch (self)
{
case 0:
Printf("Switching to software renderer...\n");
break;
case 1:
Printf("Switching to OpenGL renderer...\n");
break;
default:
Printf("Unknown renderer (%d). Falling back to software renderer...\n", (int) vid_renderer);
self = 0; // make sure to actually switch to the software renderer
break;
}
Printf("You must restart " GAMENAME " to switch the renderer\n");
}
}
void I_ShutdownGraphics ()
{
if (screen)
@ -74,8 +107,11 @@ void I_InitGraphics ()
val.Bool = !!Args->CheckParm ("-devparm");
ticker.SetGenericRepDefault (val, CVAR_Bool);
Video = new SDLVideo (0);
//currentrenderer = vid_renderer;
if (currentrenderer==1) Video = new SDLGLVideo(0);
else Video = new SDLVideo (0);
if (Video == NULL)
I_FatalError ("Failed to initialize display");
@ -91,9 +127,11 @@ static void I_DeleteRenderer()
void I_CreateRenderer()
{
currentrenderer = vid_renderer;
if (Renderer == NULL)
{
Renderer = new FSoftwareRenderer;
if (currentrenderer==1) Renderer = gl_CreateInterface();
else Renderer = new FSoftwareRenderer;
atterm(I_DeleteRenderer);
}
}