2. In a few words...
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
● 3D API for rendering the Earth
– ... but also other planets
● Default data from NASA
– You can feed other data providers
– Beware of terms of use
● You can add your own objects
Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
3. Some basic facts
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
● Based on JOGL (OpenGL bindings for Java)
– Fast!
– Fast Video Card required
– But beware of drivers (especially in Linux)
– Native library required
● You don't need to learn JOGL
Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
4. Basic classes
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
● Configuration
– How to set up things
● WorldWindowGLCanvas
– The components that renders the scene
● Model
– What we are going to render
Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
5. Basic classes
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
● Layer(s)
– Stacked sets of rendered objects
● View, OrbitView
– The coordinates and other attributes of the view
point
● SceneController
– The controller
Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
6. Standard Layers
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
● Stars ● USGSUrbanAreaOrtho
● Fog ● CountryBoundaries
● SkyGradient ● EarthNASAPlaceName
● BMNGSurface ● ScaleBar
● LandsatI3 ● WorldMap
● USGSDigitalOrtho ● Compass
Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
7. The demos
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
● ViewIteration ● SurfaceImages
● GlobalGridAboveSurface ● TexturedSurfaceShape
● Shapes ● Tracks
● DraggingShapes ● AnaglyphStereo
run-demo.bash demo_name
Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
8. ViewIteration
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
● Goes to a specific location applying a smooth
transition
● OrbitView
● ScheduledOrbitViewStateIterator
Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
9. GlobalGridAboveSurface
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
● Draws a grid over the surface
● RenderableLayer
● PolyLine
– color
– numSegments
– followTerrain
Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
10. Shapes
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
● Sticks and renders many different shapes at
given coordinates
● RenderableLayer
– SurfaceSector, SurfaceEllipse,
SurfaceSquare, SurfaceCircle,
SurfaceQuad, Quadrilateral,
SurfacePolygon, PolyLine
● IconLayer
● WWIcon, UserFacingIcon
Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
11. DraggingShapes
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
● Surface shapes can be selected and dragged
● SelectListener
– SelectEvent.HOVER
– SelectEvent.ROLLOVER
– SelectEvent.DRAG
– SelectEvent.DRAG_END
Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
12. SurfaceImages
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
● Paints a given image over the surface
● RenderableLayer
– SurfaceImage
Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
13. TexturedSurfaceShape
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
● Paints a shape with a given texture over the
surface
● RenderableLayer
– SurfaceSector
– TexturePaint
Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
14. Tracks
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
● Renders a track with waypoints
● TrackMarkerLayer
– Track
Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007
15. Anaglyph Stereo
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License
● Renders a 3D view that can be viewer with 3D
glasses
● Configuration
● AnaglyphSceneController
– setDisplayMode(...)
– setFocusAngle(...)
Fabrizio Giudici – fabrizio.giudici@tidalwave.it – JUG Milano
Javaday Roma - 01/12/2007