GLSL编译错误...仅在通过gDEBugger运行时

时间:2014-02-19 17:40:50

标签: opengl glsl

我正在使用代码加载一些着色器

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可能不支持tesselation着色器吗?如果是这样,有人可以提出一个不错的选择吗?

1 个答案:

答案 0 :(得分:3)

GDebugger不再维护,并且支持OpenGL 3.1,它没有曲面细分着色器。