Forum Navigation
You need to log in to create posts and topics.

Visualization in overlaps


Is there any way to determine that when two particles overlap, one is seen above the other? I thought that with transparencies I could do it, but I can't.
I attach two images where you can see how changing the size of a particle changes the display format. I would like something more similar to the first example, but if I could simply say that some are always on top of the others without using transparencies it would also work for me.

Thank you.

Translated with (free version)

Uploaded files:
  • Muestra-5.png
  • Muestra-6.png

No, I'm sorry, but this kind of visual artifacts is inevitable for the real-time OpenGL renderer. The rendering of semi-transparent particles by the OpenGL renderer is based on a depth-sorting technique. That means the particles get sorted for rendering them back to front (far to near ordering), one after the other, so that translucent particles closer to the viewer are drawn on top of particles that are further away. At the same time a z-buffer is used so that particles are occluded by fully opaque geometry, which is always drawn first.

This technique is fast and efficient (good for interactive applications & runs on your graphics hardware), but it cannot render intersecting geometry correctly, because each particle is rendered always in one piece. When two particles interpenetrate, you will get visual artifacts like one ones visible in your picture.

My recommendation is to use the Tachyon or the OSPRay renderers, which are available in OVITO Pro. These rendering engines both use raytracing techniques and can handle translucent, self-intersecting geometry correctly in most situations.

New for our users in China: OVITO on WeChat 

Official OVITO WeChat channel operated by Foshan Diesi Technology Co., Ltd.