gpt4 book ai didi

linux - 无法使用 Linux/Mesa 编译着色器

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:32:57 27 4
gpt4 key购买 nike

我有一个 OpenGL 3.0 应用程序,它在与 Windows 一起使用时运行良好。我的着色器程序都以

开头
#version 130 core\n

现在,当我使用 OpenGL 3.0 Mesa 18.0.5 切换到 Linux 时,这些着色器的编译失败并显示错误消息

Vertex shader failed: 0:1(10): error: illegal text following version number

这可能是什么问题?肯定是 OpenGL 3.0 应该支持 GLSL 1.3 - 它提示什么非法文本?

最佳答案

#version 130 core

这个版本号根本不存在。 OpenGL 3.2 以及 GLSL 1.50 中引入了 corecompatibility 等 OpenGL 配置文件。

GLSL 1.30 的正确版本指令(来自 OpenGL 3.0)只是

#version 130

参见 GLSL 1.30 Specification 的“3.3 预处理器”部分:

Shaders should declare the version of the language they are written to. The language version a shader is written to is specified by

#version number

where number must be a version of the language, following the same convention as __VERSION__ above. The directive #version 130 is required in any shader that uses version 1.30 of the language. Any number representing a version of the language a compiler does not support will cause an error to be generated.

关于linux - 无法使用 Linux/Mesa 编译着色器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53049874/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com