7
·
8
·
9
·
10
·
11
·
12
·
13
·
14
·
15
·
16
·
17
·
18
·
19
I am a developer at the Jet Propulsion Laboratory in Pasadena working on
planning software for the Mars rovers. Our product, Maestro, has an image
browsing component which lets rover drivers and scientists examine pictures
taken by the rovers, either as individual images or stitched mosaics composed of
potentially hundreds of images. We use GEF to display our images and allow users
to place target markers on points of interest therein.
We wanted to give the users the ability to smoothly zoom in and out of a mosaic,
allowing them to "fly" around the image in a Google Earth-style animated
fashion. We quickly discovered, however, that the SWTGraphics which Draw2D uses
by default was incapable of rendering scaled images fast enough to give the
glassy-smooth transitions we were looking for, especially on the Mac and Linux
platforms, which we must support. I decided to try implementing Draw2D's
Graphics interface using OpenGL drawing routines, and swap this into the
GEF/Draw2D framework, so that we could have our smooth animations of scaled
images without losing the power of GEF for the target interaction layer.
This talk discusses the approach I took to replacing Draw2D's graphics engine
with an OpenGL core (without modifying the Draw2D plugin itself), as well as the
several snags I encountered along the way to a successful implementation.