GLSL编译错误 '/'无法对 'vec4'和 'vec2'进行操作

标签 glsl

我的部分片段着色器未编译

vec2 uv=gl_FragCoord/uTDOutputInfo.res.zw;

返回以下错误

'/' does not operate on 'vec4' and 'vec2'

也尝试过给出相同的错误。

vec2 uv=gl_FragCoord/iResolution.xy;

最佳答案

gl_FragCoord的类型是vec4。 不可能将具有 4 个分量的向量除以具有 2 个分量的向量。

使用Swizzling获取 gl_FragCoord 的 x 和 y 分量:

vec2 uv=gl_FragCoord.xy/iResolution.xy;

关于GLSL编译错误 '/'无法对 'vec4'和 'vec2'进行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60552632/

相关文章:

c++ - 为什么glsl '#version'定义给我一个错误?

java - 在 java androidgles20 api 中将纹理单元上传到采样器时出现错误 1281(错误值)

opengl-es - 如何转换为 HDR 渲染器?

geometry - 计算点和矩形之间的有符号距离

android - GLSL:如何根据Photoshops曲线值计算 fragment 输出RGB值?

c++ - GLSL 每像素照明问题

javascript - 当 IOS 上的 ALPHA 为零时,Three.js 将纹理 RGB 值设置为零

opengl - 延迟阴影映射 GLSL

javascript - 在 Phong 模型中使光线独立于 View