如何在Mac上设置GLSL版本?这甚至可能吗?我正在运行片段着色器并想创建一个vec3数组,但着色器编译器产生一个错误,表明我需要使用更高的GLSL版本.具体错误是
'array of 3-component vector of float' : array type not supported here in glsl < 120
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
虽然我没有Mac经验,但您可以使用类似的东西指定着色器所需的最低版本(我认为默认为1.10)
#version 120 //shader requires version 1.20
Run Code Online (Sandbox Code Playgroud)
作为着色器中的第一行.但是,当然您的硬件和驱动程序也必须支持指定的版本,您可以查看glGetString(GL_SHADING_LANGUAGE_VERSION).
编辑:我通过查看GLSL规范证实了这一点,该规范还说所有链接在一起的着色器应该针对相同的版本,虽然我很确定我自己曾经成功地违反了这个,但这可能是由于我宽恕nVidia司机.因此,如果链接时仍然抱怨,也可以将相同的#version标记添加到顶点着色器中.
| 归档时间: |
|
| 查看次数: |
2940 次 |
| 最近记录: |