简单的体积光线投射

时间:2010-11-15 19:30:10

标签: rendering volume

问题可能很简单,但我意识到答案可能不是。尽可能保持清晰。

您能解释3D体积渲染中体积光线投射技术的基本思想吗?

干杯, 蒂莫

2 个答案:

答案 0 :(得分:3)

此参考文献介绍了简单的光线投射link。然后可以将这些概念(射线平面交叉点等)扩展到体积光线投射link

总而言之,光线通过体积投射,并在每个符合某些标准的交叉点累积一些颜色。例如,沿着光线的每个体素具有> 1的值。 128可能会为所需的RGB颜色贡献一小部分不透明度。不透明度被加权,(voxel_value-128)/ 127在这种简化的情况下可能是合适的加权函数(假设负值被适当地处理)。该方案将代表比例阈值转移函数。对于渲染,与光线相关联的像素被分配由沿其路径遇到的总和不透明度确定的颜色。 (这将是一个从前到后的alpha混合 - 存在其他方法。)

其他传递函数也存在:某些函数可能会严重影响渐变。这种函数可用于可视化体积内发生的表面边界。

我推荐VTK书籍进一步阅读。

答案 1 :(得分:1)

我在我的博客(PyScience)中用Python和VTK撰写了几篇关于光线投射和光线追踪的文章:

http://pyscience.wordpress.com/2014/09/21/ray-casting-with-python-and-vtk-intersecting-linesrays-with-surface-meshes/

http://pyscience.wordpress.com/2014/10/05/from-ray-casting-to-ray-tracing-with-python-and-vtk/

然而,我意识到这些射线技术并不特别适用于体积渲染(即使它们可以这样使用)。对于纯粹的体积渲染,vtkVolumeRayCastMapper类可以解决这个问题(还没有写过帖子:))

相关问题