volume rendering depth issue with multiple volumes (segmented layers)

hello, I remember past posts mentioning depth issues when rendering multiple volumes. I have several layers (6) that I have segmented out individually. Last night, they appeared to render 'in order' (the layers are parallel, and up to 6 thus overlap if rotated into the correct view). this morning, though, I notice that 'volume 2' is rendering 'on top' of everything else. is there a way I can trick this to work, or is there something I may be missing / clicked wrong? thanks, -Jeff -- ------------------------------------------------------------- Jeff Triffo Auer Group, Donner Lab, Lawrence Berkeley National Laboratory Raphael Group, Bioengineering Department, Rice University Medical Scientist Training Program (MSTP), Baylor College of Medicine phone (Berkeley): 510-486-7940 fax (Berkeley): 510-486-6488

Hi Jeff, Chimera does not correctly display transparency when more than one model is shown as transparent. The transparent models (volumes, molecules, surfaces, ...) are rendered in some order and the last one will always appear in front even if it is physically behind the others -- in other words, the last transparent model paints over the previous transparent models. (Volumes in solid mode are transparent.) The trouble is that the order of the models is not predictable. It seems to be the order in which the models are opened (last one on top), but looking at the C++ code I see that a C++ "map" data structure is being used which does not maintain a predictable order. You should get the same order each time you open the same set of models in a given order, but what that order will be depends on some C++ internals. When I have tested with a small number of models it does appear to be the order in which the models were opened. It would be nice to have a predictable behavior, so I'll see if we can sort them by model id number when rendering. Tom

so, in my case it appeared that the order changed between two sessions. I switched a file name (told chimera to load a binned file by default, rather than loading the full file + the 2x subsampled (binned) version), but the order in the chimera .py session file remained the same. I was able to generate a close enough 'look' to what I was after by clicking 'surface' and then 'solid' again. I do not know why that helped out, but it restored the model to its previous order in the rendering. -Jeff Tom Goddard wrote:
Hi Jeff,
Chimera does not correctly display transparency when more than one model is shown as transparent. The transparent models (volumes, molecules, surfaces, ...) are rendered in some order and the last one will always appear in front even if it is physically behind the others -- in other words, the last transparent model paints over the previous transparent models. (Volumes in solid mode are transparent.) The trouble is that the order of the models is not predictable. It seems to be the order in which the models are opened (last one on top), but looking at the C++ code I see that a C++ "map" data structure is being used which does not maintain a predictable order. You should get the same order each time you open the same set of models in a given order, but what that order will be depends on some C++ internals. When I have tested with a small number of models it does appear to be the order in which the models were opened.
It would be nice to have a predictable behavior, so I'll see if we can sort them by model id number when rendering.
Tom
-- ------------------------------------------------------------- Jeff Triffo Auer Group, Donner Lab, Lawrence Berkeley National Laboratory Raphael Group, Bioengineering Department, Rice University Medical Scientist Training Program (MSTP), Baylor College of Medicine phone (Berkeley): 510-486-7940 fax (Berkeley): 510-486-6488

Hi Jeff, Changing the volume style from solid to surface and then solid can change the transparent model rendering order because switching to surface deletes the "solid" model, then going back to "solid" creates a new solid model. You took it out of the list and put it back in changing the order. I would expect that each time a session is opened with the same operating system it should generate the same rendering order, even if you edit the session file to change the file names. Tom

Correction about multiple transparent models. By opening models in a specific order you can control just how wrong the multi-model transparency looks. Chimera does not correctly display multiple transparent models. The ones drawn last appear in front even if they are behind other transparent models. The order of drawing is the order in which the models are opened. Previously I mistakenly said the drawing order was undefined (was looking at x3d scene export code by mistake). A volume solid model is opened when the volume display style is switched to solid and is closed when the volume rendering style is switched to surface or mesh. Tom Tom Goddard wrote:
Hi Jeff,
Chimera does not correctly display transparency when more than one model is shown as transparent. The transparent models (volumes, molecules, surfaces, ...) are rendered in some order and the last one will always appear in front even if it is physically behind the others -- in other words, the last transparent model paints over the previous transparent models. (Volumes in solid mode are transparent.) The trouble is that the order of the models is not predictable. It seems to be the order in which the models are opened (last one on top), but looking at the C++ code I see that a C++ "map" data structure is being used which does not maintain a predictable order. You should get the same order each time you open the same set of models in a given order, but what that order will be depends on some C++ internals. When I have tested with a small number of models it does appear to be the order in which the models were opened.
It would be nice to have a predictable behavior, so I'll see if we can sort them by model id number when rendering.
Tom
_______________________________________________ Chimera-users mailing list Chimera-users@cgl.ucsf.edu http://www.cgl.ucsf.edu/mailman/listinfo/chimera-users
participants (2)
-
Tom Goddard
-
William Jeffrey Triffo