My 3D Earth viewer

It takes a second to load, but it’s got realtime lighting and weather on it. I got clickable webcams put on it to. Let me know if you guys like it.

http://www.camisphere.com

Derek

Cute :slight_smile: Don’t like that warning about Java2D DirectDraw stuff though.

Cas :slight_smile:

Neither I. That warning locked Firefox here.

from https://applet-launcher.dev.java.net/

[quote]Applets using the OpenGL 3D graphics API, for example through JOGL or Java 3D, may encounter robustness issues on the Windows platform because Sun’s Java 2D implementation on Windows uses Microsoft’s DirectDraw API. DirectDraw and OpenGL are incompatible at the driver level.

As a workaround for this problem, the JNLPAppletLauncher supports disabling the use of DirectDraw. Currently this can only be done on a global basis, for all applets, but doing so is unlikely to slow down other non-3D applets significantly.

Specifying the applet parameter

will cause the applet launcher, when run on Windows, to check to see whether DirectDraw is enabled and, if so, will prompt the user with a dialog box asking to disable it. A browser restart is required if the setting is changed.

If the dialog box is undesirable in a given situation, you can force the noddraw check to always disable DirectDraw with the two applet parameters:

In this case it will not be obvious to the end user that a browser restart might be required for best robustness, but you could potentially document the need to try restarting the browser in case of instability. [/quote] There's a few options. This is just the one I thought the best. Though you do have lots of OKing to do before you can run the applet. If anyone has suggestions or experience with other ways of dealing with this I would love to hear about it.

I’d be using LWJGL instead :wink: Mind you for all I know that suffers the same problems.

I thought Opera had locked too when that dialog appeared but it just turned out that it had some sort of odd focus or repaint thing going on and whacking space fixed it.

Cas :slight_smile:

Cool setup, how did you get the webcams in there and how often do they update?!

Sorry I got this:

Error loading texture http://www.camorb.com/Images/Dynamic/current_clouds.jpg
Exception in thread “AWT-EventQueue-2” java.lang.NullPointerException
at Camisphere.graphicobjects.Atmosphere.OnDraw(Atmosphere.java:56)
at grapi.GraphicObject.Draw(GraphicObject.java:47)
at grapi.SceneGraph.OnDraw(SceneGraph.java:34)
at grapi.GraphicObject.Draw(GraphicObject.java:47)
at Camisphere.graphicobjects.EarthSpace.Draw(EarthSpace.java:59)
at grapi.SceneGraph.OnDraw(SceneGraph.java:34)
at grapi.GraphicObject.Draw(GraphicObject.java:47)
at Camisphere.JoglEventListener.display(JoglEventListener.java:161)
at com.sun.opengl.impl.GLDrawableHelper.display(GLDrawableHelper.java:78)
at javax.media.opengl.GLCanvas$DisplayAction.run(GLCanvas.java:288)
at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:194)
at javax.media.opengl.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:265)
at javax.media.opengl.GLCanvas.display(GLCanvas.java:130)
at javax.media.opengl.GLCanvas.paint(GLCanvas.java:142)
at sun.awt.RepaintArea.paintComponent(RepaintArea.java:248)
at sun.awt.X11.XRepaintArea.paintComponent(XRepaintArea.java:56)
at sun.awt.RepaintArea.paint(RepaintArea.java:224)
at sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:683)
at java.awt.Component.dispatchEventImpl(Component.java:4489)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Exception in thread “Timer-0” javax.media.opengl.GLException: java.lang.NullPointerException
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:271)
at javax.media.opengl.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:263)
at javax.media.opengl.GLCanvas.display(GLCanvas.java:130)
at com.sun.opengl.util.Animator.display(Animator.java:144)
at com.sun.opengl.util.FPSAnimator$1.run(FPSAnimator.java:95)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: java.lang.NullPointerException
at Camisphere.graphicobjects.Atmosphere.OnDraw(Atmosphere.java:56)
at grapi.GraphicObject.Draw(GraphicObject.java:47)
at grapi.SceneGraph.OnDraw(SceneGraph.java:34)
at grapi.GraphicObject.Draw(GraphicObject.java:47)
at Camisphere.graphicobjects.EarthSpace.Draw(EarthSpace.java:59)
at grapi.SceneGraph.OnDraw(SceneGraph.java:34)
at grapi.GraphicObject.Draw(GraphicObject.java:47)
at Camisphere.JoglEventListener.display(JoglEventListener.java:161)
at com.sun.opengl.impl.GLDrawableHelper.display(GLDrawableHelper.java:78)
at javax.media.opengl.GLCanvas$DisplayAction.run(GLCanvas.java:288)
at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:194)
at javax.media.opengl.GLCanvas$DisplayOnEventDispatchThreadAction.run(GLCanvas.java:305)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

Cameras update differently. Sometime twice a minute, sometimes once an hour. Some have timestamps and that’s the only way to be sure how current they are. I generally won’t show cams that don’t link up with the weather and day/night display. The weather is updated every three hours. The day/night effect is updated every hour.

[quote]Sorry I got this:

Error loading texture http://www.camorb.com/Images/Dynamic/current_clouds.jpg
[/quote]
Yeah, sounds like my server spazzed. Should be ok now. I guess I should output some kind of error if that happens. I really don’t want the app to show if that happens, but I don’t want the user looking at a blank screen for too long. Noted for next release.