Como lidar corretamente com a composição alfa com o OpenGL

Eu estava usandoglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) para alfa compondo como o documento disse (e na verdade a mesma coisa foi dita no documento do Direct3D).

Tudo estava bem no começo, até que baixei o resultado da GPU e fiz dele uma imagem PNG. O componente alfa resultante está errado. Antes de desenhar, eu tinha limpado o buffer de quadros com a cor preta opaca. E depois que eu desenhei algo semitransparente, o buffer de quadros ficou semitransparente.

questionAnswers(1)

yourAnswerToTheQuestion