【问题标题】:Love2d extern image breaks shaderLove2d 外部图像破坏着色器
【发布时间】:2017-06-30 05:33:08
【问题描述】:

我正在 Love2D 中制作混合模式着色器(版本 0.9.2,我无法更新)。但是,由于它已经被破坏,我将其缩减为:

[[
    extern Image base;

    vec4 effect(vec4 tint, sampler2D tex, vec2 tex_coords, vec2 pos) {
        vec4 color = texture2D(tex, tex_coords);

        return color;
    }
]]

问题是,我使用的那一刻

shader:send("base", image)

在 love.draw() 中,它会导致黑色(空)屏幕。

我在这里可能做错了什么?

【问题讨论】:

    标签: graphics lua glsl shader love2d


    【解决方案1】:

    我发现了问题:

    A.我没有在着色器中使用“基础”变量
    B. 控制台库 'Cupid' 吃掉了某些图形错误,所以我没有得到任何响应。

    要修复着色器,只需在“效果”函数中添加如下内容:

    vec4 baseColor = Texel(base, tex_coords);
    

    这样,为了提高效率,extern Image base 被保留而不是在编译后被丢弃。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多