我参与了一个项目,我需要根据体积的一系列图像渲染 3D 体积。这些图像是通过多种技术创建的,因此它们是所讨论对象的垂直切片。
数据集类似于this question , 但提问者正在寻找 Matlab 解决方案。
目标是使绘图接近实时(>1Hz 更新率),根据我的研究,openGL 似乎是最快的绘图选项。除了以下伪代码算法之外,openGL 中是否有内置函数在 openGL 中渲染体积。
foreach(Image in Folder)
foreach(Pixel in Image)
pointColour(pixelColour)
pointLocation(Pixel.X,Pixel.Y,Image.Z)
drawPoint
我不关心图像之间的插值,当前间距足够小,不需要它。
最佳答案
恐怕如果你在考虑体积渲染,你需要先了解 volume rendering integral因为屏幕上像素的合成颜色是当前视角下与其对齐的所有体素的函数。
有两种使用传统图形硬件实时渲染体积的方法。
这不是一个容易解决的问题 - 但根据您需要做的事情,事情可能会更简单一些。例如:您是否关心具有交互式传输功能?您想要透视图还是正交投影就足够了?你在渲染等值面吗?您是否仅将此用于 MPR-type观点?
关于c++ - 从 2D 图像堆栈渲染 3D 体积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10637935/