WWJava FAQ

What is NASA World Wind Java?
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).

How can I download WWJ?
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.

Will World Wind Java run on my operating system?
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.

Running under 64-bit Linux
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
 * 1) Download the amd64 version of JOGL http://download.java.net/media/jogl/www/
 * 2) Unzip the downloaded file and copy the content of the lib directory to your WWJ directory (e.g. cp jjogl-1.1.1-pre-20070511-linux-amd64/lib/* /path_to_WWJ/)
 * 3) Edit run-demo.bash and replace the last line in the file with:
 * (Note: the only change is the addition of -Djava.library.path=.)

Older Linux distributions
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.)

What are the system Requirements?
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.

How do I update my drivers?
Under Microsoft Windows follow the NASA Java driver update guide.

What's the best way to run a World Wind program or demo?
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.

Are there any JVM arguments that need to be set when running a World Wind program?
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.

What do I do if the demo doesn't work?
Run the NASA World Wind diagnostics program and post the results to the World Wind Java Development Help forum

Why are the World Wind Java demos missing features of World Wind 1.4?
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.

Can I use WW.Net cache with WWJ?
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.

What are the controls for the bundled demo?
See the NASA World Wind Java page for the default controls.

Why do I get a blank screen?
A blank screen is typically caused by out of date graphics drivers. Please update them from the graphics card manufacturer.

Will there ever be a World Wind Java client?
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

How do I determine whether a World Wind program gives any error or warning messages?
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".

Development specific questions
See WWJava Dev FAQ