Ejemplo n.º 1
0
//-----------------------------------------------------------------
// get font string
void mgTextBuffer::getFont(
  mgString& fontSpec)
{
  fontSpec.format("%s-%d%s%s", (const char*) m_fontFace, m_fontSize, 
    m_fontBold == mgTrue? "-b" : "", m_fontItalic == mgTrue ? "-i" : "");
}
Ejemplo n.º 2
0
//--------------------------------------------------------------
// check version of OpenGL available
BOOL mgWinGL21Support::checkVersion(
  int reqGLVersion,
  int reqShaderVersion,
  mgString& errorMsg)
{
  const char* vendor = (const char*) glGetString(GL_VENDOR);
  if (vendor != NULL)
    mgDebug("OpenGL device vendor: %s", (const char*) vendor);
  const char* renderer = (const char*) glGetString(GL_RENDERER);
  if (renderer != NULL)
    mgDebug("OpenGL device renderer: %s", (const char*) renderer);

  const char* glVersionStr = (const char*) glGetString(GL_VERSION);
  if (glVersionStr == NULL)
  {
    errorMsg = "cannot read OpenGL version";
    return false;
  }
  mgDebug("OpenGL version: %s", (const char*) glVersionStr);

  int major, minor, glVersion;
  if (2 != sscanf(glVersionStr, "%d.%d", &major, &minor))
  {
    errorMsg.format("cannot parse OpenGL version %s", (const char*) glVersionStr);
    return false;
  }
  // trim trailing zeros.  3.3 and 3.30 are the same
  while (minor%10 == 0)
    minor /= 10;

  glVersion = major*100 + minor;

  const char* shaderVersionStr = (const char*) glGetString(GL_SHADING_LANGUAGE_VERSION);
  if (shaderVersionStr == NULL)
  {
    errorMsg = "cannot read OpenGL Shader Language version";
    return false;
  }
  mgDebug("OpenGL shader version: %s", (const char*) shaderVersionStr);

  int shaderVersion;
  if (2 != sscanf(shaderVersionStr, "%d.%d", &major, &minor))
  {
    errorMsg.format("cannot parse OpenGL version %s", (const char*) shaderVersionStr);
    return false;
  }
  // trim trailing zeros.  3.3 and 3.30 are the same
  while (minor%10 == 0)
    minor /= 10;

  shaderVersion = major*100 + minor;

  if (glVersion < reqGLVersion || shaderVersion < reqShaderVersion)
  {
    errorMsg.format("App requested OpenGl %d.%d, shader %d.%d\nSystem has OpenGL %d.%d, shader %d.%d", 
      reqGLVersion/100, reqGLVersion%100, reqShaderVersion/100, reqShaderVersion%100,
      glVersion/100, glVersion%100, shaderVersion/100, shaderVersion%100);
    return false;
  }

  return true;
}
Ejemplo n.º 3
0
//-----------------------------------------------------------------------------
// report status for debug log
void Landscape::appDebugStats(
  mgString& status)
{
  status.format("max count = %d", m_maxCount);
}