我用Direct3D 7.0做一个绘图系统,发现在面片的顺序未知的情况下面,无法做出教真实的透明面片的渲染。考虑有多个透明面片重叠的情况。设有面片a,b,c,d其中阿a是不透明面片,Z值最大,二b,c,d是相互重叠并与a重叠的透明面片,不透明程度分别为Ab,Ac,Ad,颜色为Cb,Cc,Cd.如果在渲染了所有不透明物体后,对透明面片启用SRCBLEND=SRCALPHA,DESTBLEND=INVSRCALPHA的颜色混合,如果渲染面片的顺序刚好按Z减小的顺序渲染那么得到正确的效果,但是如果,面片顺序未知,或者其中有面片相交的情况,那么渲染时候没有按Z减小的顺序渲染,那么最后得到的结果就会发生很大的差别。如何避免这种情况呢?(Z排序不可能,因为太耗时间,而且不光是Z排序的问题,对于相交面片还要分割,这更加花时间!)
我用Direct3D 7.0做一个绘图系统,发现在面片的顺序未知的情况下面,无法做出教真实的透