Question about setting a volume

I have already prepared the skeleton and skin. I am currently studying OpenGL. I want to know how I can remove the iso-surface of the skeleton and skin and make the skeleton visible under translucent skin.

How to set two thresholds for the skeleton and skin and remove isosurface when scanning voxels from the back? Once a voxel is found that crosses the threshold, I can calculate the normal vector with a finite difference.

Finally, I can calculate the color with diffuse reflection: N * (0, 0, 1), where N is the normal vector, * is the point product, and (0,0,1) is the vector to the camera. Mix the color of the skeleton and skin to the skeleton appeared behind translucent skin. I know this idea, but I donโ€™t know how to implement it in C ++ and OpenGL.

+4
source share
2 answers

The "Bible" for real-time volume graphics is this book . It very well describes the implementation of the GPU / shader for rendering the volume, although perhaps this approach is almost outdated these days, and you would be better off directly implementing the algorithms directly in CUDA / OpenCL.

Some of the introductory materials in this tutorial (IEEE Vis 2008) may also be useful to you.

+1
source

There are other good volumetric rendering tutorials, such as Effective Volumetric Visualization of Large Medical Datasets. Many people use OpenGL, GLSL, as well.

In addition, many visualization systems are online:

ImageVis3D

Voreen (open source)

0
source

Source: https://habr.com/ru/post/1343930/


All Articles