我正在寻找如何将30 + gb,2000+彩色TIFF图像系列转换为能够使用基于GPU的体积渲染(使用OpenCL / OpenGL / GLSL)实时可视化(交互式帧速率)的数据集的想法)。我想使用直接体积可视化方法而不是表面拟合(即光线投射而不是行进立方体)。
问题是双重的,首先我需要将我的图像转换为3D数据集。我想到的第一件事就是将所有图像看作2D纹理,然后将它们叠加在一起以创建3D纹理。
第二个问题是交互式帧速率。为此,我可能需要某种下采样结合“按需细节”加载高分辨率数据集时进行缩放等。
我找到的第一个逐点方法是:
但我对如何开始实施这种方法没有具体的想法。
我希望看到一些关于如何开始实施上述方法的新想法或想法。
答案 0 :(得分:2)
如果有人在这方面有任何新想法,他们可能会尝试开发和发布它们。这是一个持续的研究领域。
在您的“逐点方法”中,您似乎已经概述了基于切片的体积渲染的基本方法。这可以提供良好的结果,但许多人正在转向硬件光线投射方法。如果您有兴趣,可以在CUDA SDK中找到相关示例。
Crassin等人详细介绍了一种分层体绘制的好方法。在他们的论文中称为Gigavoxels。它使用基于八叉树的方法,只在需要时才加载内存中所需的砖块。
这方面的一本非常好的介绍性书籍是Real-Time Volume Graphics。
答案 1 :(得分:1)
我已经完成了一些体积渲染,尽管我的代码使用行进立方体生成了一个等值面并显示出来。然而,在我对体积渲染的适度自我教育中,我确实遇到了一篇有趣的短文:Volume Rendering on Common Computer Hardware。它也有源代码示例。我从来没有去检查它,但它看起来很有希望。它是DirectX,而不是OpenGL。也许它可以给你一些想法和一个起点。