1. 首页
  2. 编程语言
  3. C++ 
  4. IEEE Standard 829-2008

IEEE Standard 829-2008

上传者: 2024-07-27 07:09:01上传 PDF文件 17.45MB 热度 8次

突然的改变。你可以清楚地看到使用步骤大小为2.0创建的图象中的光线投射的“undersample”的artifact。即使使用1.0的步骤大小,仍然有一些artifact,因为在一个1.0的world空间中,花瓶的颜色明显地改变。如果采样距离为0.1图象就表现地平滑。当然,左边的这个平滑图象产生如右侧一样的图象所花费的时间是右侧的20倍。2D纹理投射作为光线投射的一个替代,可以使用纹理投射把体投射到多边形上,和使用图象硬件的投射来执行体绘制。如果你的图象板提供了合理的纹理投射加速度,这个方法就明显地快于光线投射。但是这要以精度为代价因为局部聚集的结果以帧缓冲器的分辨率存储(通常每个分量8个或者更少的位),尤其是对于浮点。为了使用2D纹理投射,沿着与接近观察方向排列的的轴产生了嵌块。随着观察方向的改变,嵌块之间的采样距离也会改变。而且在某些点上,嵌块的设置会跳到一个可能产生暂时artifact的新轴。通常这些artifact在小的体上是值得注意的。如果可以使用3D纹理投射,可以产生总是平行于观察方向的多边形,这大大降低了这些artifact。在这种情况下,多边形可能是从3边的三角形到6边的六边形。不幸地是,3D纹理投射在图象卡上还没有被广泛支持。

为了深入了解光线投射技术,可以查看这篇关于CG体绘制光线投射法的文章,其中详细解释了光线投射的基本原理和应用场景。体绘制之光线投射raycasting也提供了更多的技术细节和实现方法。如果你对基于CUDA的实现感兴趣,基于CUDA的光线投射体绘制将会是一个很好的参考。还有一篇关于高效光线投射体绘制算法研究的文章也不可错过,它深入探讨了提升光线投射效率的各种方法。

vtkVolumeTextureMapper是采用硬件纹理投射作为绘制技术的体投射器的超类,唯一的具体的实施是vtkVolumeTextureMapper2D。因为类需要访问基本的图象语言,也有一个自动创建的图象——特定的对象(vtkOpenGLVolumeTextureMapper2D)。vtkVolumeTextureMapper2D的当前的实施只支持alpha成分。切片上的双线内插用于纹理投射。

探索更多关于光线投射在实际应用中的细节,可以参考这篇关于光线投射算法的体绘制应用的文章,它涵盖了从理论到实践的各个方面。如果你对代码实现有兴趣,光线投射运动源码基于GPU光线投射的体绘制算法源码raycasting_tutorial将会提供丰富的实践素材。对于医学三维重建,看看这篇医学三维重建MATLAB体绘制算法光线投射RC的文章也许会让你大开眼界。

你将会对光线投射技术有一个全面而深入的理解,甚至可以亲自上手实现一些高级功能。

下载地址
用户评论