コード例 #1
0
ファイル: mgGL21Misc.cpp プロジェクト: duaneking/SeaOfMemes
//--------------------------------------------------------------------------
// get shader log error messages as string
void GL21getShaderLog(
  GLuint shader,
  mgString& logStr)
{
  GLint logLen, retLen;
  glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &logLen);
  char* logText = new char[logLen];
  glGetShaderInfoLog(shader, logLen, &retLen, logText);
  logStr.empty();
  logStr.write(logText, retLen);
  delete logText;
}
コード例 #2
0
//--------------------------------------------------------------------------
// return shader log error messages as a string
void mgLinuxGL33Support::getShaderLog(
  GLuint shader,
  mgString& log)
{
  GLint logLen, retLen;
  glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &logLen);
  char* logText = new char[logLen];
  glGetShaderInfoLog(shader, logLen, &retLen, logText);
  log.empty();
  log.write((const char*) logText, retLen);
  delete logText;
}
コード例 #3
0
ファイル: mgErrorTable.cpp プロジェクト: Kelimion/SeaOfMemes
//--------------------------------------------------------------
// parse a name or value off the strings
int mgErrorTable::parseVar(
  mgString& value,
  const char* argString,
  int posn)
{
  value.empty();
  while (true)
  {
    char c = argString[posn++];
    if (c == '\0')
      return -1;
    if (c == MG_ERROR_DELIM)
      return posn;

    value += c;
  }
}
コード例 #4
0
ファイル: mgWinFileUtil.cpp プロジェクト: Kelimion/SeaOfMemes
//--------------------------------------------------------------
// resolve possibly relative file name.  
void mgOSResolveRelativeName(
  const char* sourceName,
  const char* relName,
  mgString& absName)
{
  mgString name(relName);
  mgOSFixFileName(name);

  // if relative name starts with backslash, we're done
  if (name.startsWith("\\"))
  {
    absName = name;
    return;
  }

  // if relative name starts with X: (drive letter), we're done
  char letter[MG_MAX_LETTER];
  int posn = name.nextLetter(0, letter);
  if (posn < name.length())
  {
    posn = name.nextLetter(posn, letter);
    if (strcmp(letter, ":") == 0)
    {
      absName = name;
      return;
    }
  }

  // assume it's really relative.  strip last directory in source file
  mgString sourceFile(sourceName);
  int lastSlash = sourceFile.reverseFind(sourceFile.length(), '\\');
  if (lastSlash != -1)
    sourceFile.substring(absName, 0, lastSlash+1);
  else absName.empty();  // source file has no dir

  absName += name;
}
コード例 #5
0
//--------------------------------------------------------------
// resolve possibly relative file name.  
void mgOSResolveRelativeName(
  const char* sourceFile,
  const char* relName,
  mgString& absName)
{
  mgString name(relName);
  mgOSFixFileName(name);

  // if relative name starts with /, we're done
  if (name.startsWith("/"))
  {
    absName = name;
    return;
  }

  // assume it's really relative.  strip last directory in source file
  absName = sourceFile;
  int lastSlash = absName.reverseFind(absName.length(), "/");
  if (lastSlash != -1)
    absName.deleteAt(lastSlash+1, absName.length()-(lastSlash+1));
  else absName.empty();  // source file has no dir
  
  absName += name;
}