org.xith3d.scenegraph.primitives
Class SkyGeoHemisphere

java.lang.Object
  extended by org.xith3d.render.RenderPass
      extended by org.xith3d.render.BackgroundRenderPass
          extended by org.xith3d.scenegraph.primitives.SkyGeoHemisphere
All Implemented Interfaces:
org.jagatoo.datatypes.Enableable, org.jagatoo.datatypes.NamableObject, org.jagatoo.datatypes.NamedObject

public class SkyGeoHemisphere
extends BackgroundRenderPass

A sky box is background node intended to display the sky with a far away appearance but without consuming massive computational resources. It is drawn with the depth buffer disabled, so all objects which are drawn after it will be drawn in front. Even though it respects View's angle, it will always be drawn as if the View (camera) were in its center regardless of the actual position.

This implementation creates a sphere to provide a more realistic sky than SkyBox. The downside to using a sphere is that you need a panoramic picture to use as the Texture. This implementation also uses GeoSphere geometry so that it doesn't create a ridiculous number of triangles.

This class ignores the default setting for pickable and sets itself to NOT pickable. You must explicitly call setPickable( true ) on SkyGeoSphere nodes regardless of the default setting.

Originally inspired by William Denniss's SkyBox.


Field Summary
static int DEFAULT_SKY_SPLITS
           
static float X_ROTATION
           
 
Constructor Summary
SkyGeoHemisphere(int frequency, java.lang.String textureName)
           
SkyGeoHemisphere(int frequency, Texture texture)
           
SkyGeoHemisphere(java.lang.String textureName)
           
SkyGeoHemisphere(Texture texture)
           
 
Method Summary
static BranchGroup createSkyGeoHemisphereGroup(int frequency, java.lang.String textureName)
           
static BranchGroup createSkyGeoHemisphereGroup(int frequency, Texture texture)
           
static
<G extends GroupNode>
G
createSkyGeoHemisphereGroup(int frequency, Texture texture, G group)
           
static BranchGroup createSkyGeoHemisphereGroup(java.lang.String textureName)
           
static BranchGroup createSkyGeoHemisphereGroup(Texture texture)
           
 
Methods inherited from class org.xith3d.render.BackgroundRenderPass
createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createParallel, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, createPerspective, isFrustumCullingEnabled, setFrustumCullingEnabled
 
Methods inherited from class org.xith3d.render.RenderPass
addRenderCallback, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, create2D, createRenderBinProvider, freeOpenGLResources, freeOpenGLResources, getBranchGroup, getConfig, getName, getRenderBinProvider, getRenderCallbackNotifier, getRenderTarget, getShadowCasterLight, isClipperEnabled, isEnabled, isLayeredModeForced, isScissorEnabled, isUnlayeredModeForced, removeRenderCallback, setBranchGroup, setClipperEnabled, setConfig, setEnabled, setLayeredModeForced, setName, setRenderTarget, setScissorEnabled, setShadowCasterLight, setUnlayeredModeForced, switchWireframeMode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_SKY_SPLITS

public static final int DEFAULT_SKY_SPLITS
See Also:
Constant Field Values

X_ROTATION

public static final float X_ROTATION
See Also:
Constant Field Values
Constructor Detail

SkyGeoHemisphere

public SkyGeoHemisphere(int frequency,
                        Texture texture)

SkyGeoHemisphere

public SkyGeoHemisphere(int frequency,
                        java.lang.String textureName)

SkyGeoHemisphere

public SkyGeoHemisphere(Texture texture)

SkyGeoHemisphere

public SkyGeoHemisphere(java.lang.String textureName)
Method Detail

createSkyGeoHemisphereGroup

public static <G extends GroupNode> G createSkyGeoHemisphereGroup(int frequency,
                                                                  Texture texture,
                                                                  G group)

createSkyGeoHemisphereGroup

public static BranchGroup createSkyGeoHemisphereGroup(int frequency,
                                                      Texture texture)

createSkyGeoHemisphereGroup

public static final BranchGroup createSkyGeoHemisphereGroup(int frequency,
                                                            java.lang.String textureName)

createSkyGeoHemisphereGroup

public static final BranchGroup createSkyGeoHemisphereGroup(Texture texture)

createSkyGeoHemisphereGroup

public static final BranchGroup createSkyGeoHemisphereGroup(java.lang.String textureName)