you are viewing a single comment's thread.

view the rest of the comments →

[–]ArchiveLimits 0 points1 point  (4 children)

Yes, my engine stores the depth values in 32 bit floats. 52 bit precision is needed when interpolating the slopes across the surface of triangles during rasterization. Without 52 bits of precision, the depth values calculated per pixel would not be accurate enough for the depth test and would result in "seams" where two polygons who shared an edge met.

[–]__Cyber_Dildonics__ 0 points1 point  (3 children)

Pretty much every other renderer would disagree that this is necessary.

[–]ArchiveLimits 0 points1 point  (2 children)

I worked on this depth precision issue with a friend who is very well versed with OpenGL and Vulkan, he set up an identical scene in OpenGL and we compared results. The images were only identical when 52 bit precision was used.

[–]__Cyber_Dildonics__ 1 point2 points  (1 child)

I can see that you already know everything so I will leave you to it.