This is a basic problem with WebGL, which is what Three.js uses, as opposed 
to the canvas renderer in Jmol/JSmol. The current version of WebGL does not 
handle transparency very well, and there's not much we can do about that.

Transparent objects in WebGL are treated as if they are located entirely at 
their respective centers. When the center of one transparent object is 
behind part of any other, it can disappear completely because the renderer 
assumes it is not visible. Extended objects can be broken into smaller 
parts to avoid this, but self-intersecting transparent surfaces are always 
going to be a problem.

I did add two options for the viewer, render_order and single_side, that 
can help work around problems. If you've built 9.beta6 then they are 
described in the documentation. The first option forces objects to render 
in a particular order, which will keep objects from disappearing from 
certain angles. The second is useful for closed surfaces.


On Friday, November 22, 2019 at 8:46:27 AM UTC-8, João Palhoto Matos wrote:
>
> The sage code producing the example and two 3d models, one correct 
> produced with jsmol in sage 8.8, and other showing the problem produced 
> with three.js in sage 9.0beta6, are available from
>
> https://cdi2tp.math.tecnico.ulisboa.pt/test#sage
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/9f5f7c31-59c1-405e-b373-cb1ae1f31067%40googlegroups.com.

Reply via email to