Graphics Love2d外部图像中断着色器

Graphics Love2d外部图像中断着色器,graphics,lua,glsl,shader,love2d,Graphics,Lua,Glsl,Shader,Love2d,我正在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; } ]] 问题是,当我使用 shade

我正在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()中,它会导致一个黑色(空)屏幕

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

我发现了以下问题:

A.我没有在着色器中使用“base”变量
控制台库“丘比特”吸收了某些图形错误,所以我没有得到任何响应

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

vec4 baseColor = Texel(base, tex_coords);
这样,为了提高效率,在编译后保留而不是丢弃外部映像库