我有一组基于强度的体积数据。该数据存储在3列矩阵V(i,j,k)中,并且大约是1k×1k×100像素(X,Y,Z)。该卷包含一个12位对象。对象外部的区域设置为0.每个体素的空间维度为(1乘1乘10),较大的维度对应较小的像素数。
我们正在使用DirectX来显示此卷。有3个问题。
(1)此地点没有人对DirectX有任何实质性经验。 (我订了一本书......) (2)当我们显示音量时,阶梯状伪像出现在Z方向上。 (3)那些阶梯式的人工制品似乎与相机照明相互作用,形成一个黑暗和明亮阶梯的交替模式。
最明显的一步是尝试更改插值。我们尝试过POINT,LINEAR和ANISOTROPIC。这些设置对阶梯模式没有帮助。显而易见的步骤是尝试抗锯齿并减少对照明模型的漫反射和镜面反射贡献。不幸的是,抗锯齿可能很慢并且改变照明模型会删除有关表面方向的信息。特别是,我怀疑我们只需要在一个方向上进行抗锯齿。
我可以简单地重新绑定音量并平滑生成的对象,但这会增加内存使用量并减慢渲染速度。
我怀疑我们错过了一些完全明显的东西。因此,建议使用DirectX中的哪种方法从具有高度各向异性体素的数据体绘制中删除阶梯伪像?考虑因素包括内存使用和速度。我们在与数据集交互时已经显示模糊数据,因此低内存使用率可能比速度更有用。