I am having trouble with glPolygonOffset, which leads me to the question if there are any cases where the offset generated by glPolygonOffset(1.0, 1.0) is too small (to prevent z fighting)?
WHAT I DO IN PARTICULAR:
Render a “pushed-back” triangle mesh with glPolygonOffset(1.0, 1.0) to setup a GL_DEPTH_COMPONENT32F depthbuffer texture (FBO bound)
Render the same Geometry as GL_POINTS with Pointsize=1 while using a vertex/fragment shader program
In the fragment shader i manually calculate the depth of the rasterized one-fragmant point vertices and compare this depth to the depth value in the previously generated depth image.
WHAT I EXPECTED:
Since an offset should have been applied to the mesh in the first step i expect each point-vertex to have a smaller depth value and to lie in front of the filled mesh. Unfortunately some points don’t.
WHAT I TRIED:
Choosing glPolygonOffset(1.0,2.0) seems to do the trick for my current geometry - but i don not understand why and i suspect it won’t work for other settings (i need to be flexible here).
glPolygonOffset(1.0, 1.999) does not work for a single point more than (1.0, 1.0).
Since the “bad” points lie on a slope relative to the viewing direction i tried glPolygonOffset(10.0, 1.0), but this only works for very few points more than (1.0, 1.0).
Any help would be greatly appreciated - i am out of ideas…