It seems that when the UV value input to the “URP Sampler Buffer” node reaches the upper limit of 1, sampling fails and the image is drawn black.
There are black area on the top right and bottom right.
When calculating pixel coordinates from uvs and texture size, I think you need to subtract the texture size by 1.
uv * (_ScreenSize.xy-1)
Alternatively, I think it would be simpler to use the uv value as is, without converting uv to pixelCoords.
A similar problem has been pointed out in this thread.
It would also be better if users could set a “Samper State” for the “URP Sampler Buffer”.
Hey, as you observed, you’re getting a black value when you’re sampling outside the original texture, i.e. when your U or your V coordinate is outside the range [0, 1]. This is standard GPU behavior. The most proper fix for your effect is probably to never sample outside of screen bounds, i.e. you should probably do a small zoom in while doing the wobble effect, to make sure you never sample off-screen. So this is not a bug.
1 is within the range [0, 1]. Why would that cause an issue?
When I added a Clamp node,
Clamp(0,1) had the same problem.
Clamp(0,0.9999) gave me the expected results.
I checked the generated shader code and it looked like this.