【问题标题】:OpenGL ES3: no matching overloaded function found for packUnorm2x16OpenGL ES3:没有为 packUnorm2x16 找到匹配的重载函数
【发布时间】:2019-04-06 05:56:12
【问题描述】:

我正在尝试使用 OpenGL ES3 GLSL 的 packUnorm2x16 方法将 2 个浮点值打包成 1 个 uint 值。但是着色器的编译失败并出现'packUnorm2x16': no matching overloaded function found 错误。

这是我的片段着色器:

varying highp vec2 vDisplacement;

void main() {
  gl_FragColor = vec4(packUnorm2x16(vDisplacement), vec3(0.0));
}

我正在尝试将结果渲染到 GL_R32UI 纹理。

【问题讨论】:

  • 自 OpenGL ES 3.0 起支持 packUnorm2x16。您必须将版本限定符 #version 300 es 添加到片段着色器的第一个留置权。

标签: opengl-es glsl shader glsles


【解决方案1】:

自 OpenGL ES 3.0 起支持packUnorm2x16。您必须将版本限定符 #version 300 es 添加到片段着色器的第一个留置权:

#version 300 es

varying highp vec2 vDisplacement;

void main() {
    gl_FragColor = vec4(packUnorm2x16(vDisplacement), vec3(0.0));
}

【讨论】:

    猜你喜欢
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 2018-04-30
    相关资源
    最近更新 更多