gpt4 book ai didi

macos - OpenGL/GLSL 精度误差

转载 作者:行者123 更新时间:2023-12-05 00:25:19 25 4
gpt4 key购买 nike

我有一个简单的顶点着色器:

precision mediump float;

attribute vec4 position;

attribute vec4 color;
varying vec4 f_color;

uniform mat4 projection;
uniform mat4 modelView;

void main(void) {
gl_Position = projection * modelView * position;
f_color = color;
f_texCoord = texCoord;
}

这无法编译,说明(使用 getShaderInfoLog()):
ERROR: 0:1: 'precision' : syntax error syntax error

如果我删除带有精度说明符的行,它编译得很好。

系统:
OS: Mac OX 10.9.2 
GPU: NVIDIA GeForce 320M 256 MB
GLSL Ver.: 1.20

有人帮帮我。

最佳答案

您已经想出了如何解决您的问题:只需删除带有精度限定符的行。

更大的问题是你还没有决定你正在使用什么版本的 OpenGL。您提供的 GLSL 示例似乎适用于与 OpenGL 相关的旧版 GLSL ES ,专为移动设备设计。由于您实际上是在台式机/笔记本电脑上运行,因此您需要“正常”的 OpenGL。您观察到的错误是由于两者之间的差异造成的。

通常,您希望使用您所针对的系统支持的最新版本的 OpenGL。现在可能是 OpenGL 3.3(以及 GLSL 3.3)。

关于macos - OpenGL/GLSL 精度误差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24821223/

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