GLSL:未指定版本时使用的版本

  • 本文关键字:版本 未指定 GLSL opengl glsl
  • 更新时间 :
  • 英文 :


当 GLSL 着色器的第一行中没有指定版本时(所以没有像"#version 330"这样的版本,实际使用哪个版本?

它是否特定于供应商(甚至驱动程序(?

默认的 GLSL 版本是什么?

  • 假设默认版本为 1.10
  • 请注意,#version 指令必须始终位于第一行

#version 指令必须出现在着色器中的其他任何内容之前,空格和注释除外。如果 #version 指令没有出现在顶部,那么它假定为 1.10,这几乎肯定不是您想要的。

– OpenGL Wiki

如果它与组合源有关,那么您可以省略 #version 指令并执行以下操作:

const GLsizei stringCount = 2;
const GLchar *strings[stringCount] = {
    "#version 330 coren",
    shaderSource,
};
glShaderSource(shader, stringCount, strings, NULL);

最新更新