奇怪的纹理包裹问题(片段着色器)

时间:2021-07-09 11:28:03

标签: shader

我有这个代码(来自 Shadertoy):

void mainImage( out vec4 fragColor, in vec2 fragCoord ) {
    vec2 uv = (fragCoord - 0.5*iResolution.xy) / iResolution.y; 
    fragColor = texture(iChannel0, vec2(atan(uv.y, uv.x)/6.28, 0.1/length(uv))); 
}

...这会产生水平线故障。 enter image description here

如果我稍微改变第一行:

void mainImage( out vec4 fragColor, in vec2 fragCoord ) {
    vec2 uv = fragCoord / iResolution.xy;
    uv -= 0.5;
    uv.x *= iResolution.x / iResolution.y;
    
    fragColor = texture(iChannel0, vec2(atan(uv.y, uv.x)/6.28, 0.1/length(uv))); 
}

...没问题了。 enter image description here

我什至不知道从哪里开始了解正在发生的事情!

0 个答案:

没有答案