Grease Pencil Fill On Surface Disappears At Distance

I’m using the Grease Pencil for the first time and the only issue that I have is that the fill color disappears when at a distance when I’m drawing on the surface of a mesh. However, I don’t get this problem if I hide the mesh I drew on.

The distance at which the fill disappears changes depending on the distance between the fill to the mesh behind it (demonstrated by the yellow plane).

This is problematic if I want to do any animations with this.

Any ideas?


Rotating around mesh:

That may be related to viewport clipping precision.
When you draw on surface, GP fill is supposed to be at same distance than Mesh Surface.
If surface is curved, fill being always flat and only its bounds being on surface, it can be drawn behind.
There is a surface offset setting to avoid that problem will drawing.

If you encounter this problem by changing point of view, you can try to modify clipping values.
But the most efficient way is to enable In Front option in Viewport Display properties of GP object.
That works in Viewport but also have an effect in Render.
So, that should solve issue for animations, too.

Yeah, I’m aware of the offset value because I used that to have the strokes off of the UV sphere a bit.

I also changed the clipping values for both the viewport and the camera. I get a weird effect where adjusting the clipping distance causes clipping effect with strokes but doesn’t mess with fills at a close distance and vice versa.

I’m pretty sure this is fixed in more recent 2.83 builds. It seems to have stopped happening a couple of days ago, probably as the GP refactor made it into the main branch.