OpenGL 中半透明球体的有关问题

OpenGL 中半透明球体的问题
在OpenGL中绘制两个位置不同的半透明球体A和B,固定了绘制的顺序是先B后A。混合模式是
glBlendFunc GL_SRC_ALPHA,GL_ONE_MINUS_DST_ALPHA
开始时视点位于球体 A 前方,B在A的斜后方,这时一切正常;但是当视点转到两个球体后面,即B在A的斜前方时,画面就有点不正常了,A与B重叠的部分看起来像是 A 在 B 的前面。请问如何解决这个问题?(不改变绘制顺序的前提下)求指教!

------解决方案--------------------
不改变绘制顺序解决不了问题,因为问题的原因就是绘制顺序不对造成的。OpenGL 半透明要求从远向近绘制,那个在后先画那个。