Changes between Version 33 and Version 34 of GraphicsAPI


Ignore:
Timestamp:
Jan 31, 2017, 4:02:28 PM (9 years ago)
Author:
Tom Ferrin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GraphicsAPI

    v33 v34  
    11= Graphics API =
    22
    3 The Chimera 2 graphics API enables rendering of molecules and density maps.  Here is some info on how Hydra is providing these interfaces.
     3The ChimeraX graphics API enables rendering of molecules and density maps.  Here is some info on how Hydra is providing these interfaces.
    44
    55Current [http://www.cgl.ucsf.edu/chimera/data/chimera2-docs/html/devel/hydra.html Hydra API documentation] produced by Sphinx from code comments. Includes graphics module.
     
    2121These classes handle representing the scene, rendering it, and selecting parts of it. The "scene graph" is the geometric shapes, colors and transparency including hierarchy and instancing, also including the concept of selected part, all handled by the Drawing class. A Drawing can have any number of child Drawings, to any depth, in a tree.  Some classes handle the rendering (View, OpenGLContext, Camera, !CameraMode, Lighting, !CrossFade, !MotionBlur) including effects like silhouette edges, shadows, ambient occlusion, depth cuing, cross fades, and also camera modes like mono, shutter glasses stereo, or oculus rift. Also image save including supersampling, the graphics redraw loop, and interactive center of rotation are managed by View. Selecting objects using a mouse click is handled by View and Drawing.
    2222
    23 == Differences between Chimera 1 graphics APIs and Chimera 2 graphics APIs ==
     23== Differences between Chimera graphics APIs and ChimeraX graphics APIs ==
    2424
    25 ||=  Chimera 1 =||= Chimera 2 =||
     25||=  Chimera =||= ChimeraX =||
    2626|| All in C++ || All in Python ||
    2727|| 2 levels of models || N levels of models ||
     
    4747== What Graphics APIs are Useful to Outside Developers? ==
    4848
    49 Developing a new type of rendering is rare.  In Chimera 1 we have molecule, density map, surface, vrml models, and maybe 2d labels.  I don't know of any case where an outside developer tried to add a different type of rendering.  This seems a very advanced programming task.  So maybe the API for Drawing which is what all model types use for rendering does not need to be public.  Instead a much simpler single level (no hierarchy) Surface model could be made a public API.  The View and Camera classes control rendering and probably are of use to many outside developers.
     49Developing a new type of rendering is rare.  In Chimera we have molecule, density map, surface, vrml models, and maybe 2d labels.  I don't know of any case where an outside developer tried to add a different type of rendering.  This seems a very advanced programming task.  So maybe the API for Drawing which is what all model types use for rendering does not need to be public.  Instead a much simpler single level (no hierarchy) Surface model could be made a public API.  The View and Camera classes control rendering and probably are of use to many outside developers.
    5050
    5151== Private OpenGL classes ==