OES_depth24 WebGL working group (public_webgl 'at' khronos.org) Florian Boesch (pyalot 'at' gmail.com) Members of the WebGL working group NN Allows 24-bit depth components as a valid render buffer storage format. [NoInterfaceObject] interface OES_depth24 { const GLenum DEPTH_COMPONENT24_OES = 0x81A6; };
        var extension = gl.getExtension('OES_depth24');
        if(extension !=== null){
            var depth = gl.createRenderbuffer();
            gl.bindRenderbuffer(gl.RENDERBUFFER, depth);
            gl.renderbufferStorage(gl.RENDERBUFFER, extension.DEPTH_COMPONENT24_OES, 128, 128);
            gl.bindRenderbuffer(gl.RENDERBUFFER, null);

            var fbo = gl.createFramebuffer();
            gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
            gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, depth);
            
            var fboStatus = gl.checkFramebufferStatus(gl.FRAMEBUFFER);
            console.assert(fboStatus == gl.FRAMEBUFFER_COMPLETE, 'Framebuffer is not complete');

            gl.bindFramebuffer(gl.FRAMEBUFFER, null);
            console.assert(gl.getError() == gl.NO_ERROR, 'A GL error occured');
        }
    
Initial revision. Moved to rejected because WEBGL_depth_texture can be used as a workaround for 24-bit depth for FBOs.