如何让这段代码在 Mesa3d 上运行?

Posted

技术标签:

【中文标题】如何让这段代码在 Mesa3d 上运行?【英文标题】:How to make this code work on Mesa3d? 【发布时间】:2011-03-01 20:16:22 【问题描述】:

此 GLSL 代码在 ATI 的 OpenGL 中编译和运行无警告:

void main()

  vec4 tmp = gl_ModelViewMatrix * gl_Vertex;
  tmp.xyz = tmp.xyz / (1 - tmp.w);
  tmp.w = 1;
  gl_Position = gl_ProjectionMatrix * tmp;
  gl_FrontColor = gl_Color;

为什么它会因台面而失败?如何解密该错误消息并使其符合 Mesa 的实现?

Compilation log:
0:1(88): error: Could not implicitly convert operands to arithmetic operator
0:1(89): error: Operands to arithmetic operators must be numeric
0:1(97): error: type mismatch

【问题讨论】:

我认为 88、89 和 97 可能是着色器列表中的字符/字节偏移量。 你能在这两种情况下都尝试使用1.0而不是1吗? 【参考方案1】:

尝试将您的 1s 更改为 1.0s。

【讨论】:

以上是关于如何让这段代码在 Mesa3d 上运行?的主要内容,如果未能解决你的问题,请参考以下文章

如何让这段代码更高效(KS测试)

在Python3中,socket.recv方法如果一段时间内没有收到返回,如何让这段代码跳过,并执行下一步操作

如何同时运行包含借用 TcpStream 的期货?

F# 性能:是啥让这段代码如此缓慢?

HTML5 - 是啥让这段代码得到国家而不是城市?

为啥这段代码可以在 Linux 上运行,但不能在 Windows 上运行?