Open Redwarx008 opened 1 year ago
Actually the lack of precision should only apply to the heightmap, splatmaps are still using 8-bit precision. Maybe the problem here is that Godot is, for some reason, converting the values to SRGB somewhere (AGAIN) which would cause this... splatmap uniforms in shaders don't have the source_color
hint so I wonder where does that conversion even occurs.
It could also be that you are hitting limits of multisplat16: if you use too many textures with too harsh transitions in the same spot, it can produce sharp transitions, which AFAIK also happens in Godot 3, although from your screenshot you appear to be using only two textures?
Note, when using lookdev, non-SRGB data is rendered, and Godot uses SRGB anyways to display it, so data that isn't blocky can appear blocky. The "sharp edges" showing up in the textured screenshot are actually not showing up in lookdev.
Also which shader are you using here? Is this happening with all textured shaders? And which renderer are you using?
This is the case for splat16, but this is not the case for Splat4 shader
I don't see it happening
This is splat16, and below is splat4
I see the issue on your screenshots, but I keep trying and the problem isn't happening for me. Something must be different in your setup. If I keep painting more than 4 different textures over and and over I can eventually see a few of those artifacts, but these are a known limitation of the shader, which is solved by clearing the area with less than 4 textures (making sure there is no "remains" of an unused texture in the area). I don't know how you get these artifacts with seemingly only 2 textures.
in godot 4 version Unsmooth transitions occur when depth blending is disabled and less textures are blended by one pixel. It can be observed that the transparency decreases stepwise. Is there any way to make it gradient smooth? edit: I realized that this should be due to the lack of precision of the 2d viewport in godot4