Changes between Version 33 and Version 34 of GraphicsAPI
- Timestamp:
- Jan 31, 2017, 4:02:28 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GraphicsAPI
v33 v34 1 1 = Graphics API = 2 2 3 The Chimera 2graphics API enables rendering of molecules and density maps. Here is some info on how Hydra is providing these interfaces.3 The ChimeraX graphics API enables rendering of molecules and density maps. Here is some info on how Hydra is providing these interfaces. 4 4 5 5 Current [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. … … 21 21 These 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. 22 22 23 == Differences between Chimera 1 graphics APIs and Chimera 2graphics APIs ==23 == Differences between Chimera graphics APIs and ChimeraX graphics APIs == 24 24 25 ||= Chimera 1 =||= Chimera 2=||25 ||= Chimera =||= ChimeraX =|| 26 26 || All in C++ || All in Python || 27 27 || 2 levels of models || N levels of models || … … 47 47 == What Graphics APIs are Useful to Outside Developers? == 48 48 49 Developing a new type of rendering is rare. In Chimera 1we 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.49 Developing 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. 50 50 51 51 == Private OpenGL classes ==