NASA World Wind Java is an SDK aimed at developers who want to create their own virtual globe applications.
NASA World Wind Java provides next-generation 3D virtual globe technology for embedding in applications written in the Java programming language. It supplies a suite of Java technology-based components that developers include within their own applications, providing virtual globe functionality to any application that can benefit from it. This makes virtual globe technology available to far more people in far more domains. Because of the Java programming language’s write once, run anywhere design, NASA World Wind components are available and identical on all platforms. The components perform as well as, or better than, any other known virtual-globe implementation and utilize the OpenGL® API for 3D graphics via Java OpenGL (JOGL).
To download the SDK (source code, documentation and sample application) visit World Wind Java Download. If you only want to play with the sample application go to NASA World Wind Java page and launch WWJ using Java Web Start technology.
The NASA World Wind Java SDK is platform independent. The demo has succesfully been run under Ubuntu, Microsoft Windows, Mac OS X and Fedora Core 6.
Without installing the AMD64 version of JOGL you will likely see errors like Exception in thread “main” java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path or Exception in thread “main” java.lang.UnsatisfiedLinkError: ~/wwj/libgluegen-rt.so: ~/wwj/libgluegen-rt.so: wrong ELF class: ELFCLASS32
To get it working:
java -Xmx512m -Dsun.java2d.noddraw=true -Djava.library.path=. -classpath ./src:./classes:./ worldwind.jar:./jogl.jar:./gluegen-rt.jar $1
The JOGL requires GLIBC 2.4. (WWJ will not start on an older Distribution (like Suse 9.3). Trying to start it via WebStart will end with a java.lang.UnsatisfiedLinkError, complaining about the wrong version of libc.so.)
A 3D video card with updated drivers and Java 1.5 or 1.6 are necessary. World Wind has been tested on Nvidia, ATI/AMD, and Intel platforms using Windows, MacOS 10.4, and Fedora Core 6.
Under Microsoft Windows follow the NASA Java driver update guide.
The README file in the release distribution gives the command-lines to use, or use the Ant targets given in build.xml. You can run the basic demo by double-clicking on worldwind.jar, but the demo will run only a minute or two because it requires more Java heap space than the JVM provides by default. The Ant targets and the command lines given in the README set the appropriate JVM arguments.
Yes. The max heap space needs to be set to 512 Mb or better, and the no-direct-draw argument needs to be set to tell Java 2D not to use DirectDraw (Windows only). The README and build.xml show how to set these.
Run the NASA World Wind diagnostics program and post the results to the World Wind Java Development Help forum
NASA World Wind Java is an SDK. It is meant for developers and not end users. The bundled application and webstart on the NASA Java page are just simple demos to show how to get started with the SDK.
Partially… There is a simple tool that will convert images to .dds format and change the filenames to WWJ naming convention (i.e. remove all leading zeros) – see this thread. Layers such as BMNG, i-cubed Landsat and USGS can be easily copied to WWJ cache folder after conversion, adding other layers (not included in WWJ) requires modifing the code and writing a new layer class.
See the NASA World Wind Java page for the default controls.
A blank screen is typically caused by out of date graphics drivers. Please update them from the graphics card manufacturer.
The goal is 100s of World Winds, not one. That’s why NASA created WWJ as a Java component. NASA has no plans to create a World Wind Java client similar to World Wind .Net. They plan only to continue to develop and expand the SDK.
With that said, the World Wind Central community is planning to create a reference application that will be similar to the World Wind .NET client. See JavaForge World Wind Central Java App
World Wind uses Java logging exclusively to communicate error and warning messages. To have the messages printed to standard output, set the JVM argument
-Djava.util.logging.config.file=logging.properties
and make sure the .level line in the logging.properties file (included in the release) says “FINE”, “FINER” or “FINEST”.
See WWJava Dev FAQ