At 21:07 26/02/2003 +0100, Miguel wrote:
Egon & Peter,

(Peter, some of this is addressed more to Egon than to you. But I took the
liberty to address it to you because I would appreciate your response.)

While I was traveling last week I had the opportunity to spend a lot of
time thinking about 3d rendering in Jmol.

My thoughts in random order:
 - It is ridiculous to require Java3D.
   * It severely limits the user-base.
   * I'm not a member of the "graphics community", but it doesn't
     seem to me that it has very much momentum.

I agree - it has left me with a deep opposition to Java3D. Among other things it requires reinstalling with new Java versions.


 - We need a solution that supports 3D as an
   applet with an old browser JVM.

Yes


 - I worked out most of the design for a z-buffer scheme that
   (I believe) would work quite well for molecular viewing.
 - I also worked out a more complicated scheme which would offer
   significantly better performance
   * rendering times would be cut by 25%-50%
   * at a cost of significantly more complex code
 - performance is still going to be significantly slower than the
   (rather tight) C code of RasMol ...
   my wild guess is 5 times slower.
 - I took a look at the OpenRasmol 2.7.1 code and uncovered one
   rendering performance *issue* with cylindrical bonds.
   That will be an area where Jmol could "catch up" a bit.

For proteins and large crystals performance may matter, but for small molecules no problem. I am happy to go with this solution


 - Efficient 3D implementation of the following important
   shapes is rather straightforward
   * shaded spheres (aka Atoms)
   * shaded cylinders (aka Bonds)
   * lines
   * text
 - intersections these shapes would be *correct*
   * atoms displayed at 100% vdwRadius would do the "right thing"
 - I've not put much thought into the other shapes that are
   in RasMol (ribbons, strands, etc), but I don't think they
   would be too difficult.
 - I think I could implement it in a month or two of focused work.

So, my questions for you are as follows:

Do *you* think that true 3D rendering functionality this would be
valuable for the Jmol viewer? (By true 3D I mean that objects
intersect correctly, lines/vectors pass through atoms and
come out the other side, etc.)

It would be valuable in that it will get more converts, but not essential in that there would be no users. The grfx community has several different types of user:
- modellers
- displayers
- printers
(For example many people will model a protein in O, view it in Protein Modeller and publish it with Molscript or POVRAY). Don't try to emulate everything!)



For the work that *you* are doing, is true 3D rendering important?

No. But I am rather spartan in my approach. I am happy with current Jmol. But when I want to impress people then the high quality matters :-)



Or is the pseudo-3D rendering of Jmol good enough?

I think so. I would certainly not try to emulate lighting models. There is a lot of science that is more important



For example, is it important to render "charge fields" correctly for the
things you are doing?

Yes. But we have a basic problem in that we do not have a good charge field model. Is this a 3D array of vectors or an object with a convex hull, etc.



If *you* had some "skilled talent" to allocate for a month or two, is
this the area where you would choose spend it?

If not, what would *you* have me work on?

Wow! Actually I would concentrate on displaying molecular and atomic properties at intermediate graphics resolution (e.g. charges, dipoles, electron density, etc.) I would also want an interactive (event) GUI.


It seems to me that this is the last major piece that we need to start to
make Jmol an acceptable RasMol/Chime substitute. Clearly it would take a
lot more polishing, but all the pieces would be there. What other pieces
are missing?

Scripting. We have discussed this earlier.


Do *you* have any interest in a RasMol/Chime substitute?

A great deal. I would like to see Jmol provide an open source approach to some/all of the CHIME functionality. If I had such a tool I could pass CML objects to it. This could include animation either from implicit semantics (vibrations) or explicit - dynamics or reactions



Let me know what you think.

You must be brave to ask for a shopping list!


P.


Miguel



------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Jmol-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jmol-developers

Reply via email to