我正试着在shadertoy (https://www.shadertoy.com/view/3llcRN)上制作示例的瓷砖效果。下面是关于GLSL的代码:
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
vec2 uv = (2.*fragCoord.xy - iResolution.xy)/iResolution.y;
fragColor = vec4( texture(iChannel0, uv ).rgba );
}结果:

下面是我在Metal上的代码:
kernel vec4 colorKernel(sampler source, float w, float h)
{
vec2 d = vec2(w, h);
vec2 uv = (2.*destCoord().xy - d.xy)/h;
return vec4( sample(source, uv).rgba );
}和结果:

遗漏了什么?我需要与shadertoy相同的结果
发布于 2020-06-15 01:05:04
问题是,当UV的坐标大于1时,它只返回空颜色
https://stackoverflow.com/questions/62258053
复制相似问题