Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Directx 如何从具有高度各向异性体素的数据体绘制中移除阶梯伪影_Directx_Render_Volume_Direct3d_Smoothing - Fatal编程技术网

Directx 如何从具有高度各向异性体素的数据体绘制中移除阶梯伪影

Directx 如何从具有高度各向异性体素的数据体绘制中移除阶梯伪影,directx,render,volume,direct3d,smoothing,Directx,Render,Volume,Direct3d,Smoothing,我有一组基于强度的体积数据。这些数据存储在一个3列矩阵V(i,j,k)中,大约是1k×1k×100像素(X,Y,Z)。该卷包含一个12位对象。对象外部的区域设置为0。每个体素的空间维度是(1×1×10),较大的维度对应较小的像素数 我们正在使用DirectX显示此卷。有三个问题 (1) 在这个地方没有人对DirectX有任何实质性的经验。(我订了一本书……) (2) 当我们显示体积时,stairstep瑕疵会在Z方向出现。 (3) 这些楼梯台阶人工制品似乎与相机照明相互作用,以创建一个黑暗和明亮

我有一组基于强度的体积数据。这些数据存储在一个3列矩阵V(i,j,k)中,大约是1k×1k×100像素(X,Y,Z)。该卷包含一个12位对象。对象外部的区域设置为0。每个体素的空间维度是(1×1×10),较大的维度对应较小的像素数

我们正在使用DirectX显示此卷。有三个问题

(1) 在这个地方没有人对DirectX有任何实质性的经验。(我订了一本书……) (2) 当我们显示体积时,stairstep瑕疵会在Z方向出现。 (3) 这些楼梯台阶人工制品似乎与相机照明相互作用,以创建一个黑暗和明亮的交替模式

最明显的步骤是尝试更改插值。我们尝试过点、线性和各向异性。这些设置对楼梯踏步模式没有帮助。显而易见的步骤是尝试抗锯齿并减少对照明模型的漫反射和镜面反射贡献。不幸的是,抗锯齿可能很慢,更改照明模型会删除有关曲面方向的信息。特别是,我怀疑我们只需要在一个方向上消除别名

我可以简单地重新填充体积并平滑生成的对象,但这会增加内存使用并降低渲染速度


我怀疑我们遗漏了一些非常明显的东西。那么,建议使用DirectX中的哪种方法从具有高度各向异性体素的数据体绘制中删除阶梯瑕疵?注意事项包括内存使用和速度。我们已经在与数据集交互时显示模糊数据,因此低内存使用率可能比速度更有用。

如何渲染卷?方法不止一种。您研究过体绘制方法吗?请记住,我从未使用过DirectX,该程序似乎通过接受体模型并使用预定义的不透明度和颜色曲线对其建模来渲染数据。它似乎是一个定向光源。我从未使用过DirectX,但该程序似乎通过接受体积模型并使用基于预定义不透明度和颜色曲线的光学模型对其建模来渲染数据。它似乎假设有一个定向光源。它还使用预集成查找表执行某些操作。我研究过简单的基于投影的渲染技术,但只针对体积,而不是曲面。你所说的方法是什么意思?您是指将体积数据转换为二维图像的不同算法,还是在DirectX或其他应用程序中执行相同操作的不同方法?(抱歉…超时)好的,听起来像是光线投射。你能关掉预集成吗?这可能不适用于某些数据集。我想您还没有自己编写渲染代码。你使用什么库?我看得越多,就越觉得最好写一个复制光线投射功能的小项目,然后解决如何消除楼梯。