Ошибка компиляции GLSL только при запуске через gDEBugger

Я загружаю некоторые шейдеры, используя код

std::string progSource;
std::ifstream infile;
infile.open(shaderPath);
std::string line;
while(std::getline(infile,line))
  progSource+=line+'\n';
int fileSize = progSource.size();
const char* s = progSource.c_str();
glShaderSource(ShaderObj, 1, &s, NULL);

и это отлично работает (я загружаю вершинные, геометрические и фрагментные шейдеры). Затем я пытаюсь загрузить шейдер тесселяции, и в MSVC++, и при запуске exe он полностью счастлив. Однако, когда я запускаю его через gDEBugger, он вылетает с очень полезной ошибкой error C0000: syntax error, unexpected $end at token "(EOF)".

Любая идея, что вызывает это? Возможно, gDEBugger не поддерживает шейдеры тесселяции? Если да, может ли кто-нибудь предложить хорошую альтернативу?


person rspencer    schedule 19.02.2014    source источник


Ответы (1)


GDebugger больше не поддерживается и поддерживает OpenGL до 3.1, в котором нет шейдеров тесселяции.

person SurvivalMachine    schedule 19.02.2014