Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 体绘制问题_C++_Opengl_Graphics - Fatal编程技术网

C++ 体绘制问题

C++ 体绘制问题,c++,opengl,graphics,C++,Opengl,Graphics,我已经准备好了骨架和皮肤。我目前正在学习OpenGL。我想知道如何提取骨架和蒙皮的iso曲面,并使骨架在半透明蒙皮下可见 如何为骨骼和蒙皮设置两个阈值,并在从后向前扫描体素时提取等值面?一旦发现一个穿过阈值的体素,我就可以用有限差分法计算法向量 最后,我可以通过漫反射计算颜色:N*(0,0,1),其中N是法向量,*是点积,(0,0,1)是朝向相机的向量。混合骨架和蒙皮的颜色,使骨架显示在半透明蒙皮的后面。我知道这个想法,但不知道如何在C++和OpenGL中实现它。 < P>实时卷图形的“圣经”是

我已经准备好了骨架和皮肤。我目前正在学习OpenGL。我想知道如何提取骨架和蒙皮的iso曲面,并使骨架在半透明蒙皮下可见

如何为骨骼和蒙皮设置两个阈值,并在从后向前扫描体素时提取等值面?一旦发现一个穿过阈值的体素,我就可以用有限差分法计算法向量

最后,我可以通过漫反射计算颜色:N*(0,0,1),其中N是法向量,*是点积,(0,0,1)是朝向相机的向量。混合骨架和蒙皮的颜色,使骨架显示在半透明蒙皮的后面。我知道这个想法,但不知道如何在C++和OpenGL中实现它。

< P>实时卷图形的“圣经”是。它很好地介绍了体渲染的GPU/shader实现,尽管可以说这种方法现在几乎已经过时,而且最好直接在CUDA/OpenCL中实现算法


本书(IEEE Vis 2008)中的一些介绍性材料也可能对您有用。

还有其他关于体绘制的好教程,如《大型医学数据集的高效体可视化》。许多人也使用OpenGL、GLSL

此外,许多可视化系统在线:


您是在尝试基于切片的体绘制还是光线投射?这些都是很好的问题。OpenGL不直接支持体绘制,因为它只处理栅格化三角形/四边形/多边形。可以使用着色器实现体积光线投射器。或者提取等值面(使用第三方代码),然后将其提供给OpenGL。也许你可以将这个问题分开:“如何使用OpenGL片段着色器实现体积光线投射器”,标记为OpenGL,以及“如何从体积数据中提取等值面”,标记为3d-graphics。顺便问一下,“我已经准备好了骨架和蒙皮”是什么意思?具体以什么形式,用什么样的软件?这真是一本关于加快体绘制速度的好书。