Firstly, generate a texture instead of a render buffer:
out[2] = glGenRenderbuffersEXT();
becomes:
out[2] = glGenTextures();
Next, create storage for it (instead of the render buffer):
glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, out[2]);
glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL14.GL_DEPTH_COMPONENT24,
width, height);
becomes:
glBindTexture(GL_TEXTURE_2D, out[2]);
glTexImage2D(GL_TEXTURE_2D, 0, GL14.GL_DEPTH_COMPONENT24, width, height,
0, GL_DEPTH_COMPONENT, GL_INT, (java.nio.ByteBuffer) null);
Lastly, bind this texture to your frame buffer instead of the renderbuffer:
glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,
GL_RENDERBUFFER_EXT, out[2]);
becomes:
glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,
GL_TEXTURE_2D, out[2], 0);