It turns out that it would be very handy to have access to floating point depth-buffers for render targets. Particularly with planets, and long range shadowing, 32-bit depth textures are a must.
The only change required to get a 16 or 32 bit depth buffer is a single line in egRendererBase.cpp, line 526:
Code:
glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, rb.width, rb.height, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, 0x0 );
To this:
Code:
glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT32, rb.width, rb.height, 0, GL_DEPTH_COMPONENT, GL_FLOAT, 0x0 );
or this:
Code:
glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT16, rb.width, rb.height, 0, GL_DEPTH_COMPONENT, GL_FLOAT, 0x0 );
I have made this change to my local source, but it would be nice to be able to specify this per-render target in the pipeline config.