-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
White stripes when fsaa is enabled #6860
Comments
Can confirm, NVIDIA gpu here. |
Confirmed as well. |
The reason is probably rounding error, just like in #4912. EDIT: My bad, P.S. Also note that size of 1/16 can’t be serialized exactly; that won’t break a single nodebox (as that’s its size and not vertex coordinates) but may lead to a gap (or overlapping) between nodeboxes. |
@HybridDog What’s the node in your post? |
The node is from that mod: https://github.com/hybriddog/riesenpilz The vertices of the top and side polygons are the same, so shouldn't they also have the same rounding error in the end? |
Not a bug. Your (side) texture has transparent border, and the stripes
result from blending with that border. But as `use_texture_alpha` is
disabled, the edge is sharp; it’s at α=0.5 (after blending).
…On 10.01.2019 00:07, wrote:
The node is from that mod: https://github.com/hybriddog/riesenpilz
The vertices of the top and side polygons are the same, so shouldn't
they also have the same rounding error in the end?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#6860 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AHAxMtZIXa470QCT6QRLqE-XBdqOA2W_ks5vBlorgaJpZM4RPmy3>.
|
Unless you enable it, but that actually makes the stripes visible just like FSAA does (which is unavailable on my current system BTW, while interpolation is forced).
Maybe, but you’d better just pad your textures. You can use |
You're right, I haven't thought about texels used for interpolation.
This only affects my nodes. I think that without interpolation and certain textures (see the previous screenshot), FSAA makes the corners look worse, which defeats its purpose. |
See also the black stripe next to the white area. The problem here is exactly the same: blending with a wrong texel; this time, that’s the opposite edge of the texture. Try placing several nodes in a row, edges should look clear between them. Also note that with filtering instead of FSAA, such node wouldn’t look nice at all as the stripes would be blended with each other. But there is an option to disable texture repeating in one or both dimensions, that should help.
Okay, that might be reasonable, iff filtering is disabled. With filters, such scaling could break smoothness. But I just noticed one tiny detail that probably can’t be fixed in any better way: gray pixels at the black stripe’s end. These are from the bottom part of the bricks texture. But disabling tiling would break the look with filtering&hi-res textures, so that should be fixed in some other way. Naturally, I’d like to disable tiling automatically when filters are disabled, but that would help full nodes only. There is still a problem of how to stretch the textures. I’ll try to find a sane method for nodeboxes (meshes are expected to have good texture coordinates already) |
Thanks. |
HybridDog@63b7024#diff-15a21807c0c1462b310d02ab1a16763b |
Oh, thanks for founding that. That effectively means there is no universal way to fix broken meshes. But proper meshes would look OK probably, just the offset should be an order of magnitude smaller (the original stripes have sub-pixel width, while the ring here is several pixels wide). Writing the code right now. |
When using fsaa (here 2x), there's no proper edge between two polygons of nodebox nodes:
![screenshot_20171230_150038](https://user-images.githubusercontent.com/3192173/34454764-9628a2be-ed72-11e7-92e8-c947c018333f.png)
Without fsaa there's no white stripe:
![screenshot_20171230_150123](https://user-images.githubusercontent.com/3192173/34454766-99e850a2-ed72-11e7-9982-567afa1af83e.png)
As numberZero wrote, this happens because the neighbouring texel is used by fsaa. If it is transparent, the edge becomes half-transparent after blending.
The text was updated successfully, but these errors were encountered: