Implementation - transparency in OpenGL

General Process:
 ... Draw all non-transparent objects ...
glEnable(GL_BLEND); // Color Blending
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glDepthMask(false); // do not write on depth buffer
 ... Sort transparent objects by depth ...
 ... Draw all transparent objects from furthest to closest ...
glDisable(GL_BLEND); 
// do not forget to re-activate depth buffer write
glDepthMask(true);