summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2018-03-12 00:34:46 +0100
committerMarkus Wick <markus@selfnet.de>2018-03-12 20:38:06 +0100
commita5c0739fabefed9478b37aae8ae3e1a00a7f772a (patch)
tree5035150d5f6c4c88b96fe39526a543e745a324bb /Source/Core
parentd4449971c949ddd988a0d615b42e17ff2f6202ef (diff)
OGL: Scale OSD text on big screens.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/VideoBackends/OGL/RasterFont.cpp1
-rw-r--r--Source/Core/VideoBackends/OGL/Render.cpp15
2 files changed, 12 insertions, 4 deletions
diff --git a/Source/Core/VideoBackends/OGL/RasterFont.cpp b/Source/Core/VideoBackends/OGL/RasterFont.cpp
index a90f3c3721..f21ac22900 100644
--- a/Source/Core/VideoBackends/OGL/RasterFont.cpp
+++ b/Source/Core/VideoBackends/OGL/RasterFont.cpp
@@ -157,6 +157,7 @@ RasterFont::RasterFont()
}
}
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 0);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, CHARACTER_WIDTH * CHARACTER_COUNT, CHARACTER_HEIGHT, 0,
GL_RGBA, GL_UNSIGNED_BYTE, texture_data.data());
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp
index 02252117fd..a0c3bb6c8d 100644
--- a/Source/Core/VideoBackends/OGL/Render.cpp
+++ b/Source/Core/VideoBackends/OGL/Render.cpp
@@ -851,10 +851,17 @@ Renderer::CreateFramebuffer(const AbstractTexture* color_attachment,
void Renderer::RenderText(const std::string& text, int left, int top, u32 color)
{
- s_raster_font->printMultilineText(text,
- left * 2.0f / static_cast<float>(m_backbuffer_width) - 1.0f,
- 1.0f - top * 2.0f / static_cast<float>(m_backbuffer_height), 0,
- m_backbuffer_width, m_backbuffer_height, color);
+ int screen_width = m_backbuffer_width;
+ int screen_height = m_backbuffer_height;
+ if (screen_width >= 2000)
+ {
+ screen_width /= 2;
+ screen_height /= 2;
+ }
+
+ s_raster_font->printMultilineText(text, left * 2.0f / static_cast<float>(screen_width) - 1.0f,
+ 1.0f - top * 2.0f / static_cast<float>(screen_height), 0,
+ screen_width, screen_height, color);
}
std::unique_ptr<AbstractShader> Renderer::CreateShaderFromSource(ShaderStage stage,