@@ -58,17 +58,17 @@ void DebugFps::TickRender(float delta_time) | |||||
sprintf(buf, "Game % 7.2f % 7.2f", | sprintf(buf, "Game % 7.2f % 7.2f", | ||||
1e3f * Profiler::GetMean(Profiler::STAT_TICK_GAME), | 1e3f * Profiler::GetMean(Profiler::STAT_TICK_GAME), | ||||
1e3f * Profiler::GetMax(Profiler::STAT_TICK_GAME)); | 1e3f * Profiler::GetMax(Profiler::STAT_TICK_GAME)); | ||||
data->font->PrintBold(10, 28, buf); | |||||
data->font->PrintBold(10, 34, buf); | |||||
sprintf(buf, "Render % 7.2f % 7.2f", | sprintf(buf, "Render % 7.2f % 7.2f", | ||||
1e3f * Profiler::GetMean(Profiler::STAT_TICK_RENDER), | 1e3f * Profiler::GetMean(Profiler::STAT_TICK_RENDER), | ||||
1e3f * Profiler::GetMax(Profiler::STAT_TICK_RENDER)); | 1e3f * Profiler::GetMax(Profiler::STAT_TICK_RENDER)); | ||||
data->font->PrintBold(10, 46, buf); | |||||
data->font->PrintBold(10, 50, buf); | |||||
sprintf(buf, "Blit % 7.2f % 7.2f", | sprintf(buf, "Blit % 7.2f % 7.2f", | ||||
1e3f * Profiler::GetMean(Profiler::STAT_TICK_BLIT), | 1e3f * Profiler::GetMean(Profiler::STAT_TICK_BLIT), | ||||
1e3f * Profiler::GetMax(Profiler::STAT_TICK_BLIT)); | 1e3f * Profiler::GetMax(Profiler::STAT_TICK_BLIT)); | ||||
data->font->PrintBold(10, 64, buf); | |||||
data->font->PrintBold(10, 66, buf); | |||||
sprintf(buf, "Frame % 7.2f % 7.2f", | sprintf(buf, "Frame % 7.2f % 7.2f", | ||||
1e3f * Profiler::GetMean(Profiler::STAT_TICK_FRAME), | 1e3f * Profiler::GetMean(Profiler::STAT_TICK_FRAME), | ||||
@@ -104,14 +104,17 @@ void Font::Print(int x, int y, char const *str) | |||||
float tx = .0625f * (ch & 0xf); | float tx = .0625f * (ch & 0xf); | ||||
float ty = .0625f * ((ch >> 4) & 0xf); | float ty = .0625f * ((ch >> 4) & 0xf); | ||||
glTexCoord2f(tx, ty); | |||||
glVertex2f(x, y); | |||||
glTexCoord2f(tx + .0625f, ty); | |||||
glVertex2f(x + w, y); | |||||
glTexCoord2f(tx + .0625f, ty + .0625f); | |||||
glVertex2f(x + w, y + h); | |||||
glTexCoord2f(tx, ty + .0625f); | |||||
glVertex2f(x, y + h); | |||||
if (ch != ' ') | |||||
{ | |||||
glTexCoord2f(tx, ty); | |||||
glVertex2f(x, y); | |||||
glTexCoord2f(tx + .0625f, ty); | |||||
glVertex2f(x + w, y); | |||||
glTexCoord2f(tx + .0625f, ty + .0625f); | |||||
glVertex2f(x + w, y + h); | |||||
glTexCoord2f(tx, ty + .0625f); | |||||
glVertex2f(x, y + h); | |||||
} | |||||
x += w; | x += w; | ||||
} | } | ||||
@@ -120,8 +123,24 @@ void Font::Print(int x, int y, char const *str) | |||||
void Font::PrintBold(int x, int y, char const *str) | void Font::PrintBold(int x, int y, char const *str) | ||||
{ | { | ||||
Print(x, y, str); | |||||
Print(x + 1, y, str); | |||||
Print(x, y + 1, str); | |||||
static struct { int dx, dy; float r, g, b; } tab[] = | |||||
{ | |||||
{ -1, 0, 0.0, 0.0, 0.0 }, | |||||
{ 0, -1, 0.0, 0.0, 0.0 }, | |||||
{ 0, 1, 0.0, 0.0, 0.0 }, | |||||
{ 1, -1, 0.0, 0.0, 0.0 }, | |||||
{ 1, 1, 0.0, 0.0, 0.0 }, | |||||
{ 2, 0, 0.0, 0.0, 0.0 }, | |||||
{ 1, 0, 0.5, 0.5, 0.5 }, | |||||
{ 0, 0, 1.0, 1.0, 1.0 }, | |||||
}; | |||||
glPushAttrib(GL_COLOR_BUFFER_BIT | GL_CURRENT_BIT); | |||||
for (unsigned int i = 0; i < sizeof(tab) / sizeof(*tab); i++) | |||||
{ | |||||
glColor3f(tab[i].r, tab[i].g, tab[i].b); | |||||
Print(x + tab[i].dx, y + tab[i].dy, str); | |||||
} | |||||
glPopAttrib(); | |||||
} | } | ||||