D3D怎么渲染两个交叉的透明体

D3D如何渲染两个交叉的透明体?
有两个带半透明纹理的三角形:树叶A和树叶B
假如:树叶A比树叶B的平均Z值更远(先渲染树叶A,再渲染树叶B),但是透过A要能看到树叶B,透过树叶B也要能看到树叶A

也就是说,渲染树叶A时,树叶B必须已经被渲染过,然后渲染树叶B时,树叶A也要已经被渲染过,

这种自相矛盾的东西,要怎么办?
除非能够把两个树叶涉及到的所有像素点按照离相机的远近,进行排序,然后渲染
否则,我感觉根本无解啊。。。。
------解决思路----------------------
移动摄像机,这样两片树叶相对于摄像机的远近就发生变化了吧。
------解决思路----------------------
如果是在PC上的话,用alpha clip就能够解决透明物体的交叉渲染问题。
如果在手机上的话,alpha clip的效率是个很大的问题,只有从模型的本身的角度将其拆分成前后两块,然后对他们设置固定的渲染队列。