2
\$\begingroup\$

I googled like crazy and checked the OpenGL documentations but I couldn't find out how the precision of a depth buffer created using GL_DEPTH_COMPONENT is chosen.

As far as I know the precision is implementation dependent. But how will the precision be chosen? Will it always use the highest precision possible or rather the fastest one? Or is no general answer possible?

Shoud I always go with GL_DEPTH_COMPONENT32 instead?

\$\endgroup\$
2
\$\begingroup\$

For a basic, unsized internal format like GL_DEPTH_COMPONENT, the implementation chooses a resolution. The implementation may only used the format and type parameters to choose an internal format, but otherwise the format is up for the implementation to choose.

GL_DEPTH_COMPONENT32 is probably overkill, and as of 4.5, isn't a required format for OpenGL implementations to support (though 16 and 24 bit ones are). Consider that higher resolution depth buffers may not be as performant.

The exact requirements are documented in the OpenGL specification. On the 4.5 Compatibility spec, it is documented on section 8.5, page 230.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.