I'm in the process of migrating our object oriented OpenGL wrapper from 3.3 core to 4.5 core.
Some OpenGL implementations are notoriously permissive on what inputs they'll accept which can make tracking down bugs difficult. Wherever possible the inputs to our wrapper are validated with asserts to keep them in line with the spec.
While setting up the asserts for glTextureStorage3D
I've noticed that according to this page on the Khronos website it only accepts the following sized depth types: GL_DEPTH_COMPONENT32F
, GL_DEPTH_COMPONENT24
, GL_DEPTH_COMPONENT16
, GL_DEPTH32F_STENCIL8
or GL_DEPTH24_STENCIL8
.
Non-floating point 32bit depth types seem to be missing from that list which leads me to believe they're no longer supported (or at least actively discouraged). There's also this answer to another question which states that:
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).
I have tried to find some reference to this in the 4.5 core spec but turned up nothing.
Is GL_DEPTH_COMPONENT32
a deprecated size type? If so, why?