vtk 3维render 提升速度几种方法

 我来答
受别异2370
2013-11-04 · TA获得超过248个赞
知道答主
回答量:178
采纳率:25%
帮助的人:121万
展开全部
一般使用
方法:SetAxisMagnificationFactor进行设置。
  SetInput(reader.GetOutput());
  SetAxisMagnificationFactor(0, 0.5);
  SetAxisMagnificationFactor(1, 0.5);
SetAxisMagnificationFactor(2, 0.5);//重新设置x,y,z方向上的space。
适度放宽space,降低图形的显示质量,可以读取袜弊稍大的数据。
2. 对读入的数据采用
vtkImageShrink3D
进行subsampling(二次抽样),可以使加速读入数据。一般使用方法:SetShrinkFactors(3,3,3)和AveragingOn。SetShrinkFactors方法 定义了x,y,z 抽样精密度 如果都是0,没必要用这个函数。如果subsampling得值过大,那么rendering的结果较差。可以使用一些平滑函数进行优化,减少数据的梯度感和粗糙感。如高斯平滑函数:  SetInputConnection(reader-GetOutput());
SetDimensionality(3)
SetRadiusFactors(1,1,0)3.
对衡者于vtkVolumeRayCastMapper映射来说,使用函数SetImageSampleDistance设置SampleDistance。但同时,默认状态下自动调节显示效果的功能是开启的,所以要设置sampledistance,则需要关闭自动调节功能即AutoAdjustSampleDistancesOff(),(如果仍然采用自动调节作用,则可以通过
SetAutoAdjustSampleDistances
(int)来进行交互设置)如下所示:
vtkVolumeRayCastMapper:
SetImageSampleDistance(2);
AutoAdjustSampleDistancesOff();4.
vtkLODProp3D可以加入多个Mapper,通过设置time,决定某一时刻显示哪一个Mapper。通常的做法是当在旋转时选择交互性好但准确率稍差的Mapper,当停止时,又会显示比较费时但绘咐好薯制准确的Mapper。对于RayCastMapper来说,则不需要使用vtkLODProp3D。如下所示:
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式