summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2013-04-13 00:58:37 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2013-04-13 00:58:37 -0500
commit605bbf5ca833399c1a6aad2a3b0e21cb4c910d11 (patch)
tree53acc60e471e39f234af37ac56c4ce39029eb60b /Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp
parent2444fdbbdd4310f0e012b661d258b20a4eaf4800 (diff)
parent48927c17d252223ffdaa5cfb34aa850eb6ee6ee1 (diff)
Merge remote-tracking branch 'origin/master' into Android-trash
Diffstat (limited to 'Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp')
-rw-r--r--Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp29
1 files changed, 14 insertions, 15 deletions
diff --git a/Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp b/Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp
index e41d6402ff..b91df5eb9f 100644
--- a/Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp
+++ b/Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp
@@ -19,11 +19,12 @@
#include <math.h>
#include "../../Plugin_VideoOGL/Src/GLUtil.h"
-#include "../../Plugin_VideoOGL/Src/RasterFont.h"
-#include "../../Plugin_VideoOGL/Src/ProgramShaderCache.h"
+#include "RasterFont.h"
#include "SWRenderer.h"
#include "SWStatistics.h"
+#include "OnScreenDisplay.h"
+
static GLuint s_RenderTarget = 0;
static GLint attr_pos = -1, attr_tex = -1;
@@ -33,7 +34,7 @@ static GLuint program;
// Rasterfont isn't compatible with GLES
// degasus: I think it does, but I can't test it
#ifndef USE_GLES
-OGL::RasterFont* s_pfont = NULL;
+RasterFont* s_pfont = NULL;
#endif
void SWRenderer::Init()
@@ -47,7 +48,6 @@ void SWRenderer::Shutdown()
#ifndef USE_GLES
delete s_pfont;
s_pfont = 0;
- OGL::ProgramShaderCache::Shutdown();
#endif
}
@@ -90,9 +90,7 @@ void SWRenderer::Prepare()
CreateShaders();
// TODO: Enable for GLES once RasterFont supports GLES
#ifndef USE_GLES
- // ogl rasterfont depends on ogl programshadercache
- OGL::ProgramShaderCache::Init();
- s_pfont = new OGL::RasterFont();
+ s_pfont = new RasterFont();
glEnable(GL_TEXTURE_2D);
#endif
GL_REPORT_ERRORD();
@@ -103,14 +101,12 @@ void SWRenderer::RenderText(const char* pstr, int left, int top, u32 color)
#ifndef USE_GLES
int nBackbufferWidth = (int)GLInterface->GetBackBufferWidth();
int nBackbufferHeight = (int)GLInterface->GetBackBufferHeight();
-
+ glColor4f(((color>>16) & 0xff)/255.0f, ((color>> 8) & 0xff)/255.0f,
+ ((color>> 0) & 0xff)/255.0f, ((color>>24) & 0xFF)/255.0f);
s_pfont->printMultilineText(pstr,
- left * 2.0f / (float)nBackbufferWidth - 1,
- 1 - top * 2.0f / (float)nBackbufferHeight,
- 0, nBackbufferWidth, nBackbufferHeight, color);
-
- glBindVertexArray(0);
- glBindBuffer(GL_ARRAY_BUFFER, 0);
+ left * 2.0f / (float)nBackbufferWidth - 1,
+ 1 - top * 2.0f / (float)nBackbufferHeight,
+ 0, nBackbufferWidth, nBackbufferHeight);
#endif
}
@@ -123,7 +119,7 @@ void SWRenderer::DrawDebugText()
if (g_SWVideoConfig.bShowStats)
{
p+=sprintf(p,"Objects: %i\n",swstats.thisFrame.numDrawnObjects);
- p+=sprintf(p,"Primatives: %i\n",swstats.thisFrame.numPrimatives);
+ p+=sprintf(p,"Primitives: %i\n",swstats.thisFrame.numPrimatives);
p+=sprintf(p,"Vertices Loaded: %i\n",swstats.thisFrame.numVerticesLoaded);
p+=sprintf(p,"Triangles Input: %i\n",swstats.thisFrame.numTrianglesIn);
@@ -228,6 +224,9 @@ void SWRenderer::DrawTexture(u8 *texture, int width, int height)
void SWRenderer::SwapBuffer()
{
+ // Do our OSD callbacks
+ OSD::DoCallbacks(OSD::OSD_ONFRAME);
+
DrawDebugText();
glFlush();