当前位置: 首页 > 知识库问答 >
问题:

GLSL 兼容性问题

司寇嘉茂
2023-03-14

我一直在我的笔记本电脑上使用lwjgl和GLSL 1.3进行一个项目。我的着色器在我的笔记本电脑上编译得很好,但是,当尝试在我的桌面上编译相同的着色器时,它有一个更新的显卡,我收到一个错误,说明着色器无法编译,因为着色器中存在错误。但是,着色器日志不会输出任何错误。我认为GLSL向后兼容它自己。

GL11.glGetString(GL20.GL_SHADING_LANGUAGE_VERSION);

返回

3.30 NVIDIA via Cg compiler

我假设它与标准的GLSL 3.30相同。这是一个示例vertandfrag着色器,它适用于我的笔记本电脑而不是台式机。

basic_color.vert

#version 130

uniform mat4 projection_matrix;
uniform mat4 modelview_matrix;

in vec3 a_Vertex;
in vec4 a_Color;
out vec4 color;

void main(void) 
{
    vec4 pos = modelview_matrix * vec4(a_Vertex, 1.0);
    gl_Position = projection_matrix * pos;  
    color = a_Color;
}

basic_color.frag

#version 130

in vec4 color;
out vec4 outColor;

void main(void) 
{
    outColor = color;   
}

共有1个答案

谢鸿
2023-03-14

尝试#version 330 兼容性#version 330,或使用变化和gl_FragColor,gl_Position而不是输入\输出

 类似资料:
  • 根据Artem Bilan在这篇random gitter线程中的说法,Spring-Boot2仅与spring-kafka 2.1.x兼容。我找不到任何文件说明这一点。 考虑到所有这些,这是我唯一的选择: > 升级到kafka 1.0,因为spring-kafka 2.1仅与kafka 1.0兼容。 是否存在允许Spring-Boot2和Spring-Kafka旧版本之间兼容的东西?

  • 3.1 可以在什么样的硬件系统上运行? Debian GNU/Linux 包含所有程序的完整源代码, 因此可以在所有Linux内核支持的硬件系统上运行; 详见 Linux FAQ. Debian GNU/Linux 现在的版本是 8, 包括在以下硬件系统上运行的完整的源代码和二进制程序: i386: 指基于 Intel 和兼容处理器的 PC 机,包括Intel的 386, 486, Pentium

  • 更新2 我想我的问题可能真的是,“我如何编写在任何至少支持OpenGL 2.0的机器上运行的OpenGL代码?请记住,兼容性配置文件不保证可用。 更新 1: Rabbid76 建议使用特定的核心配置文件或使用兼容性配置文件。 兼容性配置文件不保证可用,所以假设我选择使用OpenGL 3.3核心配置文件作为最低要求。难道我还需要写三个不同版本的GLSL着色器吗? 适用于OpenGL 3.3的3.30

  • 本章提供了有关 版本控制 章节中提供的破坏性和非破坏性修改列表的详细说明。 什么算是一个破坏性(不兼容)的变化并没有明确的定义。本指南应该被视为指示性的,而不是每一种可能变化的全面清单。 这里列出的规则只涉及客户端兼容性。预期API生产者明白在部署方面的要求,包括实现细节的变化。 一般目的是,服务端更新到一个新的minor版本或patch版本不该破坏客户端。可预期的破坏类型有: 源代码兼容性:针对

  • 语言补丁 Array.isArray Object.assign JSON.stringify console-polyfill Object.keys Object.is Array.prototype.forEach Function.prototype.bind 或者直接使用https://polyfill.io/ 提供的动态补丁方案 <script src="https://cdn.pol

  • 本文向大家介绍highcharts 兼容性,包括了highcharts 兼容性的使用技巧和注意事项,需要的朋友参考一下 示例 牌 支持的版本 IE浏览器 6.0 + 火狐浏览器 2.0以上 铬 1.0 + 苹果浏览器 4.0以上 歌剧 9.0 + iOS(Safari) 3.0 + Android浏览器 2.0以上 Highcharts支持旧版浏览器的jQuery 1.6+版本,以及现代浏览器的2