标签: c++ opengl graphics
我已经准备了骨架和皮肤。我目前正在学习OpenGL。我想知道如何提取骨骼和皮肤的等表面,并使骨骼在半透明皮肤下可见。
如何为骨架和皮肤设置两个阈值,并在从后向前扫描体素时提取等值面?一旦找到超过阈值的体素,我就可以通过有限差分计算法向量。
最后,我可以通过漫反射来计算颜色:N *(0,0,1),其中N是法线向量,*是点积,(0,0,1)是朝向相机的向量。混合骨骼和皮肤的颜色,使骨骼出现在半透明的皮肤后面。我知道这个想法,但不知道如何在C ++和OpenGL中实现它。
答案 0 :(得分:1)
实时体积图形的“圣经”是this book。它很好地涵盖了体积渲染的GPU /着色器实现,尽管可以说这种方法现在几乎已经过时了,你最好直接在CUDA / OpenCL中直接实现算法。
此tutorial(IEEE Vis 2008)中的一些介绍性材料可能对您有用。
答案 1 :(得分:0)
还有其他很好的体积渲染教程,例如“大型医疗数据集的高效卷可视化”。许多人也使用OpenGL,GLSL。
此外,许多可视化系统在线:
ImageVis3D
Voreen(open source)