summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/AWT_Interaction/AWTInteraction.java2
-rw-r--r--src/AWT_Interaction/AWTInteractionBehavior.java2
-rw-r--r--src/AWT_Interaction/build.xml2
-rw-r--r--src/AlternateAppearance/AlternateAppearanceBoundsTest.java2
-rw-r--r--src/AlternateAppearance/AlternateAppearanceScopeTest.java2
-rw-r--r--src/AlternateAppearance/SphereGroup.java2
-rw-r--r--src/AlternateAppearance/build.xml2
-rw-r--r--src/Appearance/AppearanceTest.java2
-rw-r--r--src/Appearance/Tetrahedron.java2
-rw-r--r--src/Appearance/build.xml2
-rw-r--r--src/AppearanceMixed/AppearanceMixed.java2
-rw-r--r--src/AppearanceMixed/Tetrahedron.java2
-rw-r--r--src/AppearanceMixed/build.xml2
-rw-r--r--src/Background/BackgroundGeometry.java2
-rw-r--r--src/Background/build.xml2
-rw-r--r--src/CgShaderTest/ObjLoadCg.java339
-rw-r--r--src/CgShaderTest/SphereCg.java342
-rw-r--r--src/CgShaderTest/build.xml69
-rw-r--r--src/CgShaderTest/simple_fp.cg68
-rw-r--r--src/CgShaderTest/simple_vp.cg167
-rw-r--r--src/ConfiguredUniverse/ConfigObjLoad.java2
-rw-r--r--src/ConfiguredUniverse/build.xml2
-rw-r--r--src/ConicWorld/ConicWorld.java2
-rw-r--r--src/ConicWorld/build.xml2
-rw-r--r--src/FPSCounter/FPSCounter.java2
-rw-r--r--src/FPSCounter/FPSCounterDemo.java2
-rw-r--r--src/FPSCounter/build.xml2
-rw-r--r--src/FourByFour/BigCube.java2
-rw-r--r--src/FourByFour/Board.java2
-rw-r--r--src/FourByFour/Canvas2D.java2
-rw-r--r--src/FourByFour/Cube.java2
-rw-r--r--src/FourByFour/Cylinder.java2
-rw-r--r--src/FourByFour/FourByFour.java2
-rw-r--r--src/FourByFour/ID.java2
-rw-r--r--src/FourByFour/PickDragBehavior.java2
-rw-r--r--src/FourByFour/Poles.java2
-rw-r--r--src/FourByFour/Positions.java2
-rw-r--r--src/FourByFour/build.xml2
-rw-r--r--src/GLSLShaderTest/ObjLoadGLSL.java339
-rw-r--r--src/GLSLShaderTest/SphereGLSL.java345
-rw-r--r--src/GLSLShaderTest/build.xml69
-rw-r--r--src/GLSLShaderTest/simple.frag62
-rw-r--r--src/GLSLShaderTest/simple.vert129
-rw-r--r--src/GearTest/Gear.java2
-rw-r--r--src/GearTest/GearBox.java2
-rw-r--r--src/GearTest/GearTest.java2
-rw-r--r--src/GearTest/Shaft.java2
-rw-r--r--src/GearTest/SpurGear.java2
-rw-r--r--src/GearTest/SpurGearThinBody.java2
-rw-r--r--src/GearTest/build.xml2
-rw-r--r--src/GeometryByReference/GeometryByReferenceNIOBuffer.java2
-rw-r--r--src/GeometryByReference/GeometryByReferenceTest.java2
-rw-r--r--src/GeometryByReference/ImageComponentByReferenceTest.java2
-rw-r--r--src/GeometryByReference/InterleavedNIOBuffer.java2
-rw-r--r--src/GeometryByReference/InterleavedTest.java2
-rw-r--r--src/GeometryByReference/TiledImage.java2
-rw-r--r--src/GeometryByReference/build.xml2
-rw-r--r--src/GeometryCompression/ObjectFileCompressor.java2
-rw-r--r--src/GeometryCompression/build.xml2
-rw-r--r--src/GeometryCompression/cgview.java2
-rw-r--r--src/GeometryCompression/obj2cg.java2
-rw-r--r--src/HelloUniverse/HelloUniverse.java2
-rw-r--r--src/HelloUniverse/build.xml2
-rw-r--r--src/LOD/LOD.java2
-rw-r--r--src/LOD/build.xml2
-rw-r--r--src/Lightwave/Viewer.java2
-rw-r--r--src/Lightwave/build.xml2
-rw-r--r--src/ModelClip/ModelClipTest.java2
-rw-r--r--src/ModelClip/ModelClipTest2.java2
-rw-r--r--src/ModelClip/build.xml2
-rw-r--r--src/Morphing/ColorCube.java2
-rw-r--r--src/Morphing/ColorPyramidDown.java2
-rw-r--r--src/Morphing/ColorPyramidUp.java2
-rw-r--r--src/Morphing/Morphing.java2
-rw-r--r--src/Morphing/MorphingBehavior.java2
-rw-r--r--src/Morphing/Pyramid2Cube.java2
-rw-r--r--src/Morphing/build.xml2
-rw-r--r--src/ObjLoad/ObjLoad.java2
-rw-r--r--src/ObjLoad/build.xml2
-rw-r--r--src/OffScreenCanvas3D/OffScreenCanvas3D.java2
-rw-r--r--src/OffScreenCanvas3D/OffScreenTest.java2
-rw-r--r--src/OffScreenCanvas3D/OnScreenCanvas3D.java2
-rw-r--r--src/OffScreenCanvas3D/PrintFromButton.java2
-rw-r--r--src/OffScreenCanvas3D/build.xml2
-rw-r--r--src/OrientedShape3D/MouseRotateY.java2
-rw-r--r--src/OrientedShape3D/OrientedPtTest.java2
-rw-r--r--src/OrientedShape3D/OrientedTest.java2
-rw-r--r--src/OrientedShape3D/build.xml2
-rw-r--r--src/PackageInfo/PackageInfo.java2
-rw-r--r--src/PackageInfo/QueryProperties.java2
-rw-r--r--src/PackageInfo/build.xml2
-rw-r--r--src/PickTest/BoltCG.java2
-rw-r--r--src/PickTest/ColorCube.java2
-rw-r--r--src/PickTest/ColorPyramidDown.java2
-rw-r--r--src/PickTest/ColorPyramidUp.java2
-rw-r--r--src/PickTest/CubeIQA.java2
-rw-r--r--src/PickTest/CubeQA.java2
-rw-r--r--src/PickTest/GullCG.java2
-rw-r--r--src/PickTest/IcosahedronITSA.java2
-rw-r--r--src/PickTest/IcosahedronTSA.java2
-rw-r--r--src/PickTest/IntersectInfoBehavior.java2
-rw-r--r--src/PickTest/IntersectTest.java2
-rw-r--r--src/PickTest/MorphingBehavior.java2
-rw-r--r--src/PickTest/OctahedronITFA.java2
-rw-r--r--src/PickTest/OctahedronTFA.java2
-rw-r--r--src/PickTest/PickTest.java2
-rw-r--r--src/PickTest/RandomColorCube.java2
-rw-r--r--src/PickTest/RandomColorTetrahedron.java2
-rw-r--r--src/PickTest/TetrahedronILA.java2
-rw-r--r--src/PickTest/TetrahedronILSA.java2
-rw-r--r--src/PickTest/TetrahedronIPA.java2
-rw-r--r--src/PickTest/TetrahedronITA.java2
-rw-r--r--src/PickTest/TetrahedronLA.java2
-rw-r--r--src/PickTest/TetrahedronLSA.java2
-rw-r--r--src/PickTest/TetrahedronPA.java2
-rw-r--r--src/PickTest/TetrahedronTA.java2
-rw-r--r--src/PickTest/build.xml2
-rw-r--r--src/PickText3D/PickText3DBounds.java2
-rw-r--r--src/PickText3D/PickText3DGeometry.java2
-rw-r--r--src/PickText3D/build.xml2
-rw-r--r--src/PlatformGeometry/SimpleGeometry.java2
-rw-r--r--src/PlatformGeometry/build.xml2
-rw-r--r--src/PrintCanvas3D/ImageDisplayer.java2
-rw-r--r--src/PrintCanvas3D/ImagePrinter.java2
-rw-r--r--src/PrintCanvas3D/OffScreenCanvas3D.java2
-rw-r--r--src/PrintCanvas3D/PrintCanvas3D.java2
-rw-r--r--src/PrintCanvas3D/build.xml2
-rw-r--r--src/PureImmediate/PureImmediate.java2
-rw-r--r--src/PureImmediate/PureImmediateStereo.java2
-rw-r--r--src/PureImmediate/build.xml2
-rw-r--r--src/ReadRaster/ReadRaster.java2
-rw-r--r--src/ReadRaster/build.xml2
-rw-r--r--src/Sound/AudioBehaviorMoveOne.java2
-rw-r--r--src/Sound/AudioReverberate.java2
-rw-r--r--src/Sound/MoveAppBoundingLeaf.java2
-rw-r--r--src/Sound/ReverberateSound.java2
-rw-r--r--src/Sound/SimpleSounds.java2
-rw-r--r--src/Sound/SimpleSoundsBehavior.java2
-rw-r--r--src/Sound/build.xml2
-rw-r--r--src/SphereMotion/SphereMotion.java2
-rw-r--r--src/SphereMotion/build.xml2
-rw-r--r--src/SplineAnim/SplineAnim.java2
-rw-r--r--src/SplineAnim/build.xml2
-rw-r--r--src/Text2D/MoverBehavior.java2
-rw-r--r--src/Text2D/Text2DTest.java2
-rw-r--r--src/Text2D/build.xml2
-rw-r--r--src/Text3D/Text3DLoad.java2
-rw-r--r--src/Text3D/build.xml2
-rw-r--r--src/TextureByReference/AnimateTexturesBehavior.java2
-rw-r--r--src/TextureByReference/ImageOps.java2
-rw-r--r--src/TextureByReference/Tetrahedron.java2
-rw-r--r--src/TextureByReference/TextureByReference.java2
-rw-r--r--src/TextureByReference/build.xml2
-rw-r--r--src/TextureTest/MultiTextureTest.java2
-rw-r--r--src/TextureTest/TextureImage.java2
-rw-r--r--src/TextureTest/build.xml2
-rw-r--r--src/TickTockCollision/Box.java2
-rw-r--r--src/TickTockCollision/CollisionDetector.java2
-rw-r--r--src/TickTockCollision/TickTockCollision.java2
-rw-r--r--src/TickTockCollision/build.xml2
-rw-r--r--src/TickTockPicking/Cube.java2
-rw-r--r--src/TickTockPicking/PickHighlightBehavior.java2
-rw-r--r--src/TickTockPicking/Tetrahedron.java2
-rw-r--r--src/TickTockPicking/TickTockPicking.java2
-rw-r--r--src/TickTockPicking/build.xml2
-rw-r--r--src/Timer/TimerTest.java2
-rw-r--r--src/Timer/build.xml2
-rw-r--r--src/VirtualInputDevice/ButtonPositionControls.java2
-rw-r--r--src/VirtualInputDevice/HelloUniverse.java2
-rw-r--r--src/VirtualInputDevice/PositionControls.java2
-rw-r--r--src/VirtualInputDevice/RotationControls.java2
-rw-r--r--src/VirtualInputDevice/SensorBehavior.java2
-rw-r--r--src/VirtualInputDevice/VirtualInputDevice.java2
-rw-r--r--src/VirtualInputDevice/WheelControls.java2
-rw-r--r--src/VirtualInputDevice/build.xml2
175 files changed, 2094 insertions, 165 deletions
diff --git a/src/AWT_Interaction/AWTInteraction.java b/src/AWT_Interaction/AWTInteraction.java
index aaf48e6..7785eaf 100644
--- a/src/AWT_Interaction/AWTInteraction.java
+++ b/src/AWT_Interaction/AWTInteraction.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/AWT_Interaction/AWTInteractionBehavior.java b/src/AWT_Interaction/AWTInteractionBehavior.java
index e4abdb8..479027c 100644
--- a/src/AWT_Interaction/AWTInteractionBehavior.java
+++ b/src/AWT_Interaction/AWTInteractionBehavior.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/AWT_Interaction/build.xml b/src/AWT_Interaction/build.xml
index 47e5a36..def3da4 100644
--- a/src/AWT_Interaction/build.xml
+++ b/src/AWT_Interaction/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/AlternateAppearance/AlternateAppearanceBoundsTest.java b/src/AlternateAppearance/AlternateAppearanceBoundsTest.java
index 009539b..6f76204 100644
--- a/src/AlternateAppearance/AlternateAppearanceBoundsTest.java
+++ b/src/AlternateAppearance/AlternateAppearanceBoundsTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/AlternateAppearance/AlternateAppearanceScopeTest.java b/src/AlternateAppearance/AlternateAppearanceScopeTest.java
index ac63ce7..1b8ca70 100644
--- a/src/AlternateAppearance/AlternateAppearanceScopeTest.java
+++ b/src/AlternateAppearance/AlternateAppearanceScopeTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/AlternateAppearance/SphereGroup.java b/src/AlternateAppearance/SphereGroup.java
index 80906ac..384ca0f 100644
--- a/src/AlternateAppearance/SphereGroup.java
+++ b/src/AlternateAppearance/SphereGroup.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/AlternateAppearance/build.xml b/src/AlternateAppearance/build.xml
index 47e5a36..def3da4 100644
--- a/src/AlternateAppearance/build.xml
+++ b/src/AlternateAppearance/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Appearance/AppearanceTest.java b/src/Appearance/AppearanceTest.java
index 6ab135f..8ca7e0d 100644
--- a/src/Appearance/AppearanceTest.java
+++ b/src/Appearance/AppearanceTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Appearance/Tetrahedron.java b/src/Appearance/Tetrahedron.java
index a34bb0e..919c04c 100644
--- a/src/Appearance/Tetrahedron.java
+++ b/src/Appearance/Tetrahedron.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Appearance/build.xml b/src/Appearance/build.xml
index 47e5a36..def3da4 100644
--- a/src/Appearance/build.xml
+++ b/src/Appearance/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/AppearanceMixed/AppearanceMixed.java b/src/AppearanceMixed/AppearanceMixed.java
index 716140c..8b1835d 100644
--- a/src/AppearanceMixed/AppearanceMixed.java
+++ b/src/AppearanceMixed/AppearanceMixed.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/AppearanceMixed/Tetrahedron.java b/src/AppearanceMixed/Tetrahedron.java
index a34bb0e..919c04c 100644
--- a/src/AppearanceMixed/Tetrahedron.java
+++ b/src/AppearanceMixed/Tetrahedron.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/AppearanceMixed/build.xml b/src/AppearanceMixed/build.xml
index 47e5a36..def3da4 100644
--- a/src/AppearanceMixed/build.xml
+++ b/src/AppearanceMixed/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Background/BackgroundGeometry.java b/src/Background/BackgroundGeometry.java
index abe95ba..fd69430 100644
--- a/src/Background/BackgroundGeometry.java
+++ b/src/Background/BackgroundGeometry.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Background/build.xml b/src/Background/build.xml
index 47e5a36..def3da4 100644
--- a/src/Background/build.xml
+++ b/src/Background/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/CgShaderTest/ObjLoadCg.java b/src/CgShaderTest/ObjLoadCg.java
new file mode 100644
index 0000000..8d48bce
--- /dev/null
+++ b/src/CgShaderTest/ObjLoadCg.java
@@ -0,0 +1,339 @@
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+
+import com.sun.j3d.loaders.objectfile.ObjectFile;
+import com.sun.j3d.loaders.ParsingErrorException;
+import com.sun.j3d.loaders.IncorrectFormatException;
+import com.sun.j3d.loaders.Scene;
+import com.sun.j3d.utils.shader.StringIO;
+import java.applet.Applet;
+import java.awt.*;
+import java.awt.event.*;
+import com.sun.j3d.utils.applet.MainFrame;
+import com.sun.j3d.utils.universe.*;
+import javax.media.j3d.*;
+import javax.vecmath.*;
+import java.util.Enumeration;
+import java.io.*;
+import com.sun.j3d.utils.behaviors.vp.*;
+import java.net.URL;
+import java.net.MalformedURLException;
+
+public class ObjLoadCg extends Applet {
+
+ private boolean spin = false;
+ private boolean noTriangulate = false;
+ private boolean noStripify = false;
+ private double creaseAngle = 60.0;
+ private URL filename = null;
+ private SimpleUniverse u;
+ private BoundingSphere bounds;
+
+ public BranchGroup createSceneGraph() {
+ // Create the root of the branch graph
+ BranchGroup objRoot = new BranchGroup();
+
+ // Create a Transformgroup to scale all objects so they
+ // appear in the scene.
+ TransformGroup objScale = new TransformGroup();
+ Transform3D t3d = new Transform3D();
+ t3d.setScale(0.7);
+ objScale.setTransform(t3d);
+ objRoot.addChild(objScale);
+
+ // Create the transform group node and initialize it to the
+ // identity. Enable the TRANSFORM_WRITE capability so that
+ // our behavior code can modify it at runtime. Add it to the
+ // root of the subgraph.
+ TransformGroup objTrans = new TransformGroup();
+ objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
+ objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
+ objScale.addChild(objTrans);
+
+ int flags = ObjectFile.RESIZE;
+ if (!noTriangulate) flags |= ObjectFile.TRIANGULATE;
+ if (!noStripify) flags |= ObjectFile.STRIPIFY;
+ ObjectFile f = new ObjectFile(flags,
+ (float)(creaseAngle * Math.PI / 180.0));
+ Scene s = null;
+ try {
+ s = f.load(filename);
+ }
+ catch (FileNotFoundException e) {
+ e.printStackTrace();
+ System.exit(1);
+ }
+ catch (ParsingErrorException e) {
+ e.printStackTrace();
+ System.exit(1);
+ }
+ catch (IncorrectFormatException e) {
+ e.printStackTrace();
+ System.exit(1);
+ }
+
+ // Set vertex and fragment shader program for all Shape3D nodes in scene
+ String vertexProgram = null;
+ String fragmentProgram = null;
+ try {
+ vertexProgram = StringIO.readFully("./simple_vp.cg");
+ fragmentProgram = StringIO.readFully("./simple_fp.cg");
+ }
+ catch (IOException e) {
+ e.printStackTrace();
+ System.exit(1);
+ }
+ CgVertexShader vertexShader = new CgVertexShader(vertexProgram);
+ CgFragmentShader fragmentShader = new CgFragmentShader(fragmentProgram);
+ CgShaderProgram shaderProgram = new CgShaderProgram();
+ shaderProgram.setVertexShader(vertexShader);
+ shaderProgram.setFragmentShader(fragmentShader);
+ setShaderProgram(s.getSceneGroup(), shaderProgram);
+
+ objTrans.addChild(s.getSceneGroup());
+
+ bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
+
+ if (spin) {
+ Transform3D yAxis = new Transform3D();
+ Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
+ 0, 0,
+ 4000, 0, 0,
+ 0, 0, 0);
+
+ RotationInterpolator rotator =
+ new RotationInterpolator(rotationAlpha, objTrans, yAxis,
+ 0.0f, (float) Math.PI*2.0f);
+ rotator.setSchedulingBounds(bounds);
+ objTrans.addChild(rotator);
+ }
+
+ // Set up the background
+ Color3f bgColor = new Color3f(0.05f, 0.05f, 0.5f);
+ Background bgNode = new Background(bgColor);
+ bgNode.setApplicationBounds(bounds);
+ objRoot.addChild(bgNode);
+
+ return objRoot;
+ }
+
+ private void usage()
+ {
+ System.out.println(
+ "Usage: java ObjLoadCg [-s] [-n] [-t] [-c degrees] <.obj file>");
+ System.out.println(" -s Spin (no user interaction)");
+ System.out.println(" -n No triangulation");
+ System.out.println(" -t No stripification");
+ System.out.println(
+ " -c Set crease angle for normal generation (default is 60 without");
+ System.out.println(
+ " smoothing group info, otherwise 180 within smoothing groups)");
+ System.exit(0);
+ } // End of usage
+
+
+
+ public void init() {
+ if (filename == null) {
+ // Applet
+ try {
+ URL path = getCodeBase();
+ filename = new URL(path.toString() + "./galleon.obj");
+ }
+ catch (MalformedURLException e) {
+ System.err.println(e);
+ System.exit(1);
+ }
+ }
+
+ setLayout(new BorderLayout());
+ GraphicsConfiguration config =
+ SimpleUniverse.getPreferredConfiguration();
+
+ Canvas3D c = new Canvas3D(config);
+ add("Center", c);
+
+ // Create a simple scene and attach it to the virtual universe
+ BranchGroup scene = createSceneGraph();
+ u = new SimpleUniverse(c);
+
+ // add mouse behaviors to the ViewingPlatform
+ ViewingPlatform viewingPlatform = u.getViewingPlatform();
+
+ PlatformGeometry pg = new PlatformGeometry();
+
+ // Set up the ambient light
+ Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f);
+ AmbientLight ambientLightNode = new AmbientLight(ambientColor);
+ ambientLightNode.setInfluencingBounds(bounds);
+ pg.addChild(ambientLightNode);
+
+ // Set up the directional lights
+ Color3f light1Color = new Color3f(1.0f, 0.2f, 0.4f);
+ Vector3f light1Direction = new Vector3f(-1.0f, -1.0f, -1.0f);
+ Color3f light2Color = new Color3f(1.0f, 1.0f, 0.9f);
+ Vector3f light2Direction = new Vector3f(1.0f, 1.0f, 1.0f);
+
+ DirectionalLight light1
+ = new DirectionalLight(light1Color, light1Direction);
+ light1.setInfluencingBounds(bounds);
+ pg.addChild(light1);
+
+ DirectionalLight light2
+ = new DirectionalLight(light2Color, light2Direction);
+ light2.setInfluencingBounds(bounds);
+ pg.addChild(light2);
+
+ viewingPlatform.setPlatformGeometry( pg );
+
+ // This will move the ViewPlatform back a bit so the
+ // objects in the scene can be viewed.
+ viewingPlatform.setNominalViewingTransform();
+
+ if (!spin) {
+ OrbitBehavior orbit = new OrbitBehavior(c,
+ OrbitBehavior.REVERSE_ALL);
+ BoundingSphere bounds =
+ new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
+ orbit.setSchedulingBounds(bounds);
+ viewingPlatform.setViewPlatformBehavior(orbit);
+ }
+
+ /*
+ // Limit the frame rate to 100 Hz
+ u.getViewer().getView().setMinimumFrameCycleTime(10);
+ */
+
+ u.addBranchGraph(scene);
+ }
+
+ // Set shader program for all nodes in specified branch graph
+ private void setShaderProgram(BranchGroup g, ShaderProgram shaderProgram) {
+ ShaderAppearance myApp = new ShaderAppearance();
+ Material mat = new Material();
+ Texture2D tex2d = new Texture2D();
+ myApp.setCapability(Appearance.ALLOW_TEXTURE_WRITE);
+ myApp.setShaderProgram(shaderProgram);
+ myApp.setMaterial(mat);
+ myApp.setTexture(tex2d);
+ setShaderProgram(g, myApp);
+ }
+
+ // Recursively set shader program for all children of specified group
+ private void setShaderProgram(Group g,
+ ShaderAppearance myApp) {
+
+ Enumeration e = g.getAllChildren();
+ while (e.hasMoreElements()) {
+ Node n = (Node)(e.nextElement());
+ if (n instanceof Group) {
+ setShaderProgram((Group)n, myApp);
+ }
+ else if (n instanceof Shape3D) {
+ Shape3D s = (Shape3D)n;
+ s.setAppearance(myApp);
+ }
+ }
+ }
+
+ // Caled if running as a program
+ public ObjLoadCg(String[] args) {
+ if (args.length != 0) {
+ for (int i = 0 ; i < args.length ; i++) {
+ if (args[i].startsWith("-")) {
+ if (args[i].equals("-s")) {
+ spin = true;
+ } else if (args[i].equals("-n")) {
+ noTriangulate = true;
+ } else if (args[i].equals("-t")) {
+ noStripify = true;
+ } else if (args[i].equals("-c")) {
+ if (i < args.length - 1) {
+ creaseAngle = (new Double(args[++i])).doubleValue();
+ } else usage();
+ } else {
+ usage();
+ }
+ } else {
+ try {
+ if ((args[i].indexOf("file:") == 0) ||
+ (args[i].indexOf("http") == 0)) {
+ filename = new URL(args[i]);
+ }
+ else if (args[i].charAt(0) != '/') {
+ filename = new URL("file:./" + args[i]);
+ }
+ else {
+ filename = new URL("file:" + args[i]);
+ }
+ }
+ catch (MalformedURLException e) {
+ System.err.println(e);
+ System.exit(1);
+ }
+ }
+ }
+ }
+ }
+
+
+
+ // Running as an applet
+ public ObjLoadCg() {
+ }
+
+ public void destroy() {
+ u.cleanup();
+ }
+
+
+
+ //
+ // The following allows ObjLoadCg to be run as an application
+ // as well as an applet
+ //
+ public static void main(String[] args) {
+ new MainFrame(new ObjLoadCg(args), 700, 700);
+ }
+}
diff --git a/src/CgShaderTest/SphereCg.java b/src/CgShaderTest/SphereCg.java
new file mode 100644
index 0000000..a5664ce
--- /dev/null
+++ b/src/CgShaderTest/SphereCg.java
@@ -0,0 +1,342 @@
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+
+import java.applet.Applet;
+import java.awt.*;
+import java.io.*;
+import com.sun.j3d.utils.applet.MainFrame;
+import com.sun.j3d.utils.geometry.Sphere;
+import com.sun.j3d.utils.shader.StringIO;
+import com.sun.j3d.utils.universe.*;
+import javax.media.j3d.*;
+import javax.vecmath.*;
+import java.util.Enumeration;
+import java.net.URL;
+import java.net.MalformedURLException;
+
+/**
+ * Simple CG Shader test program
+ */
+public class SphereCg extends Applet {
+
+ // Constants for type of light to use
+ private static final int DIRECTIONAL_LIGHT = 0;
+ private static final int POINT_LIGHT = 1;
+ private static final int SPOT_LIGHT = 2;
+
+ // Flag indicates type of lights: directional, point, or spot
+ // lights. This flag is set based on command line argument
+ private static int lightType = DIRECTIONAL_LIGHT;
+
+ private SimpleUniverse u = null;
+
+ public BranchGroup createSceneGraph(SimpleUniverse u) {
+ Color3f eColor = new Color3f(0.0f, 0.0f, 0.0f);
+ Color3f sColor = new Color3f(1.0f, 1.0f, 1.0f);
+ Color3f objColor = new Color3f(0.6f, 0.6f, 0.6f);
+ Color3f lColor1 = new Color3f(1.0f, 0.0f, 0.0f);
+ Color3f lColor2 = new Color3f(0.0f, 1.0f, 0.0f);
+ Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
+ Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
+
+ Transform3D t;
+
+ // Create the root of the branch graph
+ BranchGroup objRoot = new BranchGroup();
+
+ // Create a Transformgroup to scale all objects so they
+ // appear in the scene.
+ TransformGroup objScale = new TransformGroup();
+ Transform3D t3d = new Transform3D();
+ t3d.setScale(0.4);
+ objScale.setTransform(t3d);
+ objRoot.addChild(objScale);
+
+ // Create a bounds for the background and lights
+ BoundingSphere bounds =
+ new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
+
+ // Set up the background
+ Background bg = new Background(bgColor);
+ bg.setApplicationBounds(bounds);
+ objScale.addChild(bg);
+
+ // Create a Sphere object, generate one copy of the sphere,
+ // and add it into the scene graph.
+ ShaderAppearance a = new ShaderAppearance();
+ Material m = new Material(objColor, eColor, objColor, sColor, 100.0f);
+ m.setLightingEnable(true);
+ Texture t2d = new Texture2D();
+ a.setTexture(t2d);
+ a.setCapability(Appearance.ALLOW_TEXTURE_WRITE);
+
+ String vertexProgram = null;
+ String fragmentProgram = null;
+ try {
+ vertexProgram = StringIO.readFully("./simple_vp.cg");
+ fragmentProgram = StringIO.readFully("./simple_fp.cg");
+ }
+ catch (IOException e) {
+ e.printStackTrace();
+ System.exit(1);
+ }
+ CgVertexShader vertexShader = new CgVertexShader(vertexProgram);
+ CgFragmentShader fragmentShader = new CgFragmentShader(fragmentProgram);
+ CgShaderProgram shaderProgram = new CgShaderProgram();
+ shaderProgram.setVertexShader(vertexShader);
+ shaderProgram.setFragmentShader(fragmentShader);
+
+ a.setShaderProgram(shaderProgram);
+ a.setMaterial(m);
+ Sphere sph = new Sphere(1.0f, Sphere.GENERATE_NORMALS, 200, a);
+ objScale.addChild(sph);
+
+ // Create the transform group node for the each light and initialize
+ // it to the identity. Enable the TRANSFORM_WRITE capability so that
+ // our behavior code can modify it at runtime. Add them to the root
+ // of the subgraph.
+ TransformGroup l1RotTrans = new TransformGroup();
+ l1RotTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
+ objScale.addChild(l1RotTrans);
+
+ TransformGroup l2RotTrans = new TransformGroup();
+ l2RotTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
+ objScale.addChild(l2RotTrans);
+
+ // Create transformations for the positional lights
+ t = new Transform3D();
+ Vector3d lPos1 = new Vector3d(0.0, 0.0, 2.0);
+ t.set(lPos1);
+ TransformGroup l1Trans = new TransformGroup(t);
+ l1RotTrans.addChild(l1Trans);
+
+ t = new Transform3D();
+ Vector3d lPos2 = new Vector3d(0.5, 0.8, 2.0);
+ t.set(lPos2);
+ TransformGroup l2Trans = new TransformGroup(t);
+ l2RotTrans.addChild(l2Trans);
+
+ /*
+ // Create Geometry for point lights
+ ColoringAttributes caL1 = new ColoringAttributes();
+ ColoringAttributes caL2 = new ColoringAttributes();
+ caL1.setColor(lColor1);
+ caL2.setColor(lColor2);
+ Appearance appL1 = new Appearance();
+ Appearance appL2 = new Appearance();
+ appL1.setColoringAttributes(caL1);
+ appL2.setColoringAttributes(caL2);
+ l1Trans.addChild(new Sphere(0.05f, appL1));
+ l2Trans.addChild(new Sphere(0.05f, appL2));
+ */
+
+ // Create lights
+ AmbientLight aLgt = new AmbientLight(alColor);
+
+ Light lgt1 = null;
+ Light lgt2 = null;
+
+ Point3f lPoint = new Point3f(0.0f, 0.0f, 0.0f);
+ Point3f atten = new Point3f(1.0f, 0.0f, 0.0f);
+ Vector3f lDirect1 = new Vector3f(lPos1);
+ Vector3f lDirect2 = new Vector3f(lPos2);
+ lDirect1.negate();
+ lDirect2.negate();
+
+ switch (lightType) {
+ case DIRECTIONAL_LIGHT:
+ lgt1 = new DirectionalLight(lColor1, lDirect1);
+ lgt2 = new DirectionalLight(lColor2, lDirect2);
+ break;
+ case POINT_LIGHT:
+ lgt1 = new PointLight(lColor1, lPoint, atten);
+ lgt2 = new PointLight(lColor2, lPoint, atten);
+ break;
+ case SPOT_LIGHT:
+ lgt1 = new SpotLight(lColor1, lPoint, atten, lDirect1,
+ 25.0f * (float)Math.PI / 180.0f, 10.0f);
+ lgt2 = new SpotLight(lColor2, lPoint, atten, lDirect2,
+ 25.0f * (float)Math.PI / 180.0f, 10.0f);
+ break;
+ }
+
+ // Set the influencing bounds
+ aLgt.setInfluencingBounds(bounds);
+ lgt1.setInfluencingBounds(bounds);
+ lgt2.setInfluencingBounds(bounds);
+
+ // Add the lights into the scene graph
+ objScale.addChild(aLgt);
+ l1Trans.addChild(lgt1);
+ l2Trans.addChild(lgt2);
+
+ // Create a new Behavior object that will perform the desired
+ // operation on the specified transform object and add it into the
+ // scene graph.
+ Transform3D yAxis = new Transform3D();
+ Alpha rotor1Alpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
+ 0, 0,
+ 4000, 0, 0,
+ 0, 0, 0);
+ RotationInterpolator rotator1 =
+ new RotationInterpolator(rotor1Alpha,
+ l1RotTrans,
+ yAxis,
+ 0.0f, (float) Math.PI*2.0f);
+ rotator1.setSchedulingBounds(bounds);
+ l1RotTrans.addChild(rotator1);
+
+ // Create a new Behavior object that will perform the desired
+ // operation on the specified transform object and add it into the
+ // scene graph.
+ Alpha rotor2Alpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
+ 0, 0,
+ 1000, 0, 0,
+ 0, 0, 0);
+ RotationInterpolator rotator2 =
+ new RotationInterpolator(rotor2Alpha,
+ l2RotTrans,
+ yAxis,
+ 0.0f, 0.0f);
+ bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
+ rotator2.setSchedulingBounds(bounds);
+ l2RotTrans.addChild(rotator2);
+
+ // Create a position interpolator and attach it to the view
+ // platform
+ TransformGroup vpTrans =
+ u.getViewingPlatform().getViewPlatformTransform();
+ Transform3D axisOfTranslation = new Transform3D();
+ Alpha transAlpha = new Alpha(-1,
+ Alpha.INCREASING_ENABLE |
+ Alpha.DECREASING_ENABLE,
+ 0, 0,
+ 5000, 0, 0,
+ 5000, 0, 0);
+ axisOfTranslation.rotY(-Math.PI/2.0);
+ PositionInterpolator translator =
+ new PositionInterpolator(transAlpha,
+ vpTrans,
+ axisOfTranslation,
+ 2.0f, 3.5f);
+ translator.setSchedulingBounds(bounds);
+ objScale.addChild(translator);
+
+ // Let Java 3D perform optimizations on this scene graph.
+ objRoot.compile();
+
+ return objRoot;
+ }
+
+ public SphereCg() {
+ }
+
+ public void init() {
+ setLayout(new BorderLayout());
+ GraphicsConfiguration config =
+ SimpleUniverse.getPreferredConfiguration();
+
+ Canvas3D c = new Canvas3D(config);
+ add("Center", c);
+
+ u = new SimpleUniverse(c);
+ BranchGroup scene = createSceneGraph(u);
+
+ // This will move the ViewPlatform back a bit so the
+ // objects in the scene can be viewed.
+ u.getViewingPlatform().setNominalViewingTransform();
+
+ /*
+ // Limit the frame rate to 100 Hz
+ u.getViewer().getView().setMinimumFrameCycleTime(10);
+ */
+
+ u.addBranchGraph(scene);
+ }
+
+ public void destroy() {
+ u.cleanup();
+ }
+
+ //
+ // The following allows SphereCg to be run as an application
+ // as well as an applet
+ //
+ public static void main(String[] args) {
+ // Parse the Input Arguments
+ String usage = "Usage: java SphereCg [-point | -spot | -dir]";
+ for (int i = 0; i < args.length; i++) {
+ if (args[i].startsWith("-")) {
+ if (args[i].equals("-point")) {
+ /*
+ System.out.println("Using point lights");
+ lightType = POINT_LIGHT;
+ */
+ System.out.println("Point lights not yet implemented, option ignored");
+ }
+ else if (args[i].equals("-spot")) {
+ /*
+ System.out.println("Using spot lights");
+ lightType = SPOT_LIGHT;
+ */
+ System.out.println("Spot lights not yet implemented, option ignored");
+ }
+ else if (args[i].equals("-dir")) {
+ System.out.println("Using directional lights");
+ lightType = DIRECTIONAL_LIGHT;
+ }
+ else {
+ System.out.println(usage);
+ System.exit(0);
+ }
+ }
+ else {
+ System.out.println(usage);
+ System.exit(0);
+ }
+ }
+
+ new MainFrame(new SphereCg(), 700, 700);
+ }
+}
diff --git a/src/CgShaderTest/build.xml b/src/CgShaderTest/build.xml
new file mode 100644
index 0000000..47e5a36
--- /dev/null
+++ b/src/CgShaderTest/build.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+
+<!--
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+ -->
+
+<project basedir="." default="compile">
+ <target name="compile">
+ <javac
+ destdir="." srcdir="."
+ source="1.4" target="1.4"
+ debug="true" deprecation="true">
+ </javac>
+ </target>
+
+ <target name="all" depends="compile">
+ </target>
+
+ <target description="Clean all build products." name="clean">
+ <delete>
+ <fileset dir=".">
+ <include name="**/*.class"/>
+ </fileset>
+ </delete>
+ </target>
+
+</project>
diff --git a/src/CgShaderTest/simple_fp.cg b/src/CgShaderTest/simple_fp.cg
new file mode 100644
index 0000000..d651833
--- /dev/null
+++ b/src/CgShaderTest/simple_fp.cg
@@ -0,0 +1,68 @@
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+
+// Simple fragment program to attenuate the input fragment color as a
+// function of the distance of the fragment position from the center
+// of the window
+
+// define inputs from vertex shader to fragment shader
+struct vertin
+{
+ float4 HPosition : POSITION;
+ float4 FragPos : TEXCOORD0;
+ float4 Color0 : COLOR0;
+};
+
+float4 main(vertin IN) : COLOR
+{
+ // Compute distance from center in range [0.0, 1.0]
+ float2 dist = min(abs(IN.FragPos.xy), 1.0f);
+ float2 invDist = 1.0f - dist;
+
+ // Compute attenuation
+ float atten = invDist.x * invDist.y;
+ float4 outcolor = float4(IN.Color0 * atten);
+
+ return outcolor;
+}
diff --git a/src/CgShaderTest/simple_vp.cg b/src/CgShaderTest/simple_vp.cg
new file mode 100644
index 0000000..cec98ad
--- /dev/null
+++ b/src/CgShaderTest/simple_vp.cg
@@ -0,0 +1,167 @@
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+
+/*********************************************************************NVMH3****
+Path: NVSDK\Common\media\programs
+File: simple.cg
+
+Copyright NVIDIA Corporation 2002
+TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
+*AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
+BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
+WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
+BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
+ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
+BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+
+Comments:
+
+******************************************************************************/
+
+// Simple vertex shader, derived from NVIDIA's simple.cg sample
+// shader, that modulates the lit color with a noise pattern based on
+// vertex position.
+
+// define inputs from application
+struct appin
+{
+ float4 Position : POSITION;
+ float4 Normal : NORMAL;
+};
+
+// define outputs from vertex shader
+struct vertout
+{
+ float4 HPosition : POSITION;
+ float4 FragPos : TEXCOORD0;
+ float4 Color0 : COLOR0;
+};
+
+vertout main(appin IN,
+ uniform float4x4 ModelViewProj,
+ uniform float4x4 ModelViewIT,
+ uniform float4 LightVec,
+ uniform float4 LightColor,
+ uniform float4 DiffuseMaterial,
+ uniform float4 SpecularMaterial)
+{
+ vertout OUT;
+
+// Assume that the profile is PROFILE_ARBVP1...
+// #ifdef PROFILE_ARBVP1
+ ModelViewProj = glstate.matrix.mvp;
+ ModelViewIT = glstate.matrix.invtrans.modelview[0];
+ LightVec = glstate.light[0].position;
+ LightColor = glstate.light[0].diffuse;
+ DiffuseMaterial = glstate.material.front.diffuse;
+ SpecularMaterial = glstate.material.front.specular;
+// #endif
+
+ // transform vertex position into homogenous clip-space
+ OUT.HPosition = mul(ModelViewProj, IN.Position);
+
+ // Output the post-perspective-divide position as FragPos
+ float invW = 1.0f / OUT.HPosition.w;
+ OUT.FragPos = OUT.HPosition * invW;
+
+ // transform normal from model-space to view-space
+ float3 normalVec = normalize(mul(ModelViewIT, IN.Normal).xyz);
+
+ // store normalized light vector
+ float3 lightVec = normalize(LightVec.xyz);
+
+ // calculate half angle vector
+ float3 eyeVec = float3(0.0, 0.0, 1.0);
+ float3 halfVec = normalize(lightVec + eyeVec);
+
+ // calculate diffuse component
+ float diffuse = dot(normalVec, lightVec);
+
+ // calculate specular component
+ float specular = dot(normalVec, halfVec);
+
+ // The lit() function is a handy function in the standard library that
+ // can be used to accelerate your lighting calculations.
+ //
+ // This function return a vector containing these values:
+ // result.x = 1.0;
+ // result.y = max(diffuse, 0);
+ // result.z = if (result.y > 0.0) then pow(specular, 32) else 0.0
+ // result.w = 1.0;
+
+ // Use the lit function to compute lighting vector from diffuse and
+ // specular values
+ float4 lighting = lit(diffuse, specular, 32);
+
+ // combine diffuse and specular contributions
+ float3 color0 = (lighting.y * DiffuseMaterial.xyz * LightColor.xyz) +
+ (lighting.z * SpecularMaterial.xyz);
+
+ // Generate a pseudo-random noise pattern
+// float3 xyz = clamp((normalVec.xyz + 1.0) * 0.5, 0.0, 1.0);
+ float3 xyz = clamp((OUT.HPosition.xyz + 1.0) * 0.5, 0.0, 1.0);
+
+ xyz = frac(xyz * 262144.0);
+ float randSeed = frac(3.0 * xyz.x + 5.0 * xyz.y + 7.0 * xyz.z);
+
+ float3 altColor;
+
+ randSeed = frac(37.0 * randSeed);
+ altColor.x = randSeed * 0.5 + 0.5;
+ randSeed = frac(37.0 * randSeed);
+ altColor.y = randSeed * 0.5 + 0.5;
+ randSeed = frac(37.0 * randSeed);
+ altColor.z = randSeed * 0.5 + 0.5;
+ randSeed = frac(37.0 * randSeed);
+ float altAlpha = randSeed * 0.5;
+
+ // Apply noise and output final vertex color
+ OUT.Color0.rgb = lerp(color0, altColor, altAlpha);
+ OUT.Color0.a = 1.0;
+
+ return OUT;
+}
diff --git a/src/ConfiguredUniverse/ConfigObjLoad.java b/src/ConfiguredUniverse/ConfigObjLoad.java
index cc1a819..9568957 100644
--- a/src/ConfiguredUniverse/ConfigObjLoad.java
+++ b/src/ConfiguredUniverse/ConfigObjLoad.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/ConfiguredUniverse/build.xml b/src/ConfiguredUniverse/build.xml
index 47e5a36..def3da4 100644
--- a/src/ConfiguredUniverse/build.xml
+++ b/src/ConfiguredUniverse/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/ConicWorld/ConicWorld.java b/src/ConicWorld/ConicWorld.java
index 2422a6d..f98d736 100644
--- a/src/ConicWorld/ConicWorld.java
+++ b/src/ConicWorld/ConicWorld.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/ConicWorld/build.xml b/src/ConicWorld/build.xml
index 47e5a36..def3da4 100644
--- a/src/ConicWorld/build.xml
+++ b/src/ConicWorld/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/FPSCounter/FPSCounter.java b/src/FPSCounter/FPSCounter.java
index 10953eb..a1d1d73 100644
--- a/src/FPSCounter/FPSCounter.java
+++ b/src/FPSCounter/FPSCounter.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/FPSCounter/FPSCounterDemo.java b/src/FPSCounter/FPSCounterDemo.java
index 27109de..6e5ca88 100644
--- a/src/FPSCounter/FPSCounterDemo.java
+++ b/src/FPSCounter/FPSCounterDemo.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/FPSCounter/build.xml b/src/FPSCounter/build.xml
index 47e5a36..def3da4 100644
--- a/src/FPSCounter/build.xml
+++ b/src/FPSCounter/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/FourByFour/BigCube.java b/src/FourByFour/BigCube.java
index 8c2ae32..d6fda52 100644
--- a/src/FourByFour/BigCube.java
+++ b/src/FourByFour/BigCube.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/FourByFour/Board.java b/src/FourByFour/Board.java
index c3cc0a4..e0d2b0a 100644
--- a/src/FourByFour/Board.java
+++ b/src/FourByFour/Board.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/FourByFour/Canvas2D.java b/src/FourByFour/Canvas2D.java
index 41c990c..53c21ad 100644
--- a/src/FourByFour/Canvas2D.java
+++ b/src/FourByFour/Canvas2D.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/FourByFour/Cube.java b/src/FourByFour/Cube.java
index f8fd3bd..f24f95f 100644
--- a/src/FourByFour/Cube.java
+++ b/src/FourByFour/Cube.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/FourByFour/Cylinder.java b/src/FourByFour/Cylinder.java
index b2d616f..db8dbfb 100644
--- a/src/FourByFour/Cylinder.java
+++ b/src/FourByFour/Cylinder.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/FourByFour/FourByFour.java b/src/FourByFour/FourByFour.java
index 0a58a1e..9820214 100644
--- a/src/FourByFour/FourByFour.java
+++ b/src/FourByFour/FourByFour.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/FourByFour/ID.java b/src/FourByFour/ID.java
index dae658e..0a33077 100644
--- a/src/FourByFour/ID.java
+++ b/src/FourByFour/ID.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/FourByFour/PickDragBehavior.java b/src/FourByFour/PickDragBehavior.java
index 67bee6e..96d6352 100644
--- a/src/FourByFour/PickDragBehavior.java
+++ b/src/FourByFour/PickDragBehavior.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/FourByFour/Poles.java b/src/FourByFour/Poles.java
index 135604a..95a98fa 100644
--- a/src/FourByFour/Poles.java
+++ b/src/FourByFour/Poles.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/FourByFour/Positions.java b/src/FourByFour/Positions.java
index 2a9f396..a669aae 100644
--- a/src/FourByFour/Positions.java
+++ b/src/FourByFour/Positions.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/FourByFour/build.xml b/src/FourByFour/build.xml
index 47e5a36..def3da4 100644
--- a/src/FourByFour/build.xml
+++ b/src/FourByFour/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GLSLShaderTest/ObjLoadGLSL.java b/src/GLSLShaderTest/ObjLoadGLSL.java
new file mode 100644
index 0000000..354f912
--- /dev/null
+++ b/src/GLSLShaderTest/ObjLoadGLSL.java
@@ -0,0 +1,339 @@
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+
+import com.sun.j3d.loaders.objectfile.ObjectFile;
+import com.sun.j3d.loaders.ParsingErrorException;
+import com.sun.j3d.loaders.IncorrectFormatException;
+import com.sun.j3d.loaders.Scene;
+import com.sun.j3d.utils.shader.StringIO;
+import java.applet.Applet;
+import java.awt.*;
+import java.awt.event.*;
+import com.sun.j3d.utils.applet.MainFrame;
+import com.sun.j3d.utils.universe.*;
+import javax.media.j3d.*;
+import javax.vecmath.*;
+import java.util.Enumeration;
+import java.io.*;
+import com.sun.j3d.utils.behaviors.vp.*;
+import java.net.URL;
+import java.net.MalformedURLException;
+
+public class ObjLoadGLSL extends Applet {
+
+ private boolean spin = false;
+ private boolean noTriangulate = false;
+ private boolean noStripify = false;
+ private double creaseAngle = 60.0;
+ private URL filename = null;
+ private SimpleUniverse u;
+ private BoundingSphere bounds;
+
+ public BranchGroup createSceneGraph() {
+ // Create the root of the branch graph
+ BranchGroup objRoot = new BranchGroup();
+
+ // Create a Transformgroup to scale all objects so they
+ // appear in the scene.
+ TransformGroup objScale = new TransformGroup();
+ Transform3D t3d = new Transform3D();
+ t3d.setScale(0.7);
+ objScale.setTransform(t3d);
+ objRoot.addChild(objScale);
+
+ // Create the transform group node and initialize it to the
+ // identity. Enable the TRANSFORM_WRITE capability so that
+ // our behavior code can modify it at runtime. Add it to the
+ // root of the subgraph.
+ TransformGroup objTrans = new TransformGroup();
+ objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
+ objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
+ objScale.addChild(objTrans);
+
+ int flags = ObjectFile.RESIZE;
+ if (!noTriangulate) flags |= ObjectFile.TRIANGULATE;
+ if (!noStripify) flags |= ObjectFile.STRIPIFY;
+ ObjectFile f = new ObjectFile(flags,
+ (float)(creaseAngle * Math.PI / 180.0));
+ Scene s = null;
+ try {
+ s = f.load(filename);
+ }
+ catch (FileNotFoundException e) {
+ e.printStackTrace();
+ System.exit(1);
+ }
+ catch (ParsingErrorException e) {
+ e.printStackTrace();
+ System.exit(1);
+ }
+ catch (IncorrectFormatException e) {
+ e.printStackTrace();
+ System.exit(1);
+ }
+
+ // Set vertex and fragment shader program for all Shape3D nodes in scene
+ String vertexProgram = null;
+ String fragmentProgram = null;
+ try {
+ vertexProgram = StringIO.readFully("./simple.vert");
+ fragmentProgram = StringIO.readFully("./simple.frag");
+ }
+ catch (IOException e) {
+ e.printStackTrace();
+ System.exit(1);
+ }
+ GLSLVertexShader vertexShader = new GLSLVertexShader(vertexProgram);
+ GLSLFragmentShader fragmentShader = new GLSLFragmentShader(fragmentProgram);
+ GLSLShaderProgram shaderProgram = new GLSLShaderProgram();
+ shaderProgram.setVertexShader(vertexShader);
+ shaderProgram.setFragmentShader(fragmentShader);
+ setShaderProgram(s.getSceneGroup(), shaderProgram);
+
+ objTrans.addChild(s.getSceneGroup());
+
+ bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
+
+ if (spin) {
+ Transform3D yAxis = new Transform3D();
+ Alpha rotationAlpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
+ 0, 0,
+ 4000, 0, 0,
+ 0, 0, 0);
+
+ RotationInterpolator rotator =
+ new RotationInterpolator(rotationAlpha, objTrans, yAxis,
+ 0.0f, (float) Math.PI*2.0f);
+ rotator.setSchedulingBounds(bounds);
+ objTrans.addChild(rotator);
+ }
+
+ // Set up the background
+ Color3f bgColor = new Color3f(0.05f, 0.05f, 0.5f);
+ Background bgNode = new Background(bgColor);
+ bgNode.setApplicationBounds(bounds);
+ objRoot.addChild(bgNode);
+
+ return objRoot;
+ }
+
+ private void usage()
+ {
+ System.out.println(
+ "Usage: java ObjLoadGLSL [-s] [-n] [-t] [-c degrees] <.obj file>");
+ System.out.println(" -s Spin (no user interaction)");
+ System.out.println(" -n No triangulation");
+ System.out.println(" -t No stripification");
+ System.out.println(
+ " -c Set crease angle for normal generation (default is 60 without");
+ System.out.println(
+ " smoothing group info, otherwise 180 within smoothing groups)");
+ System.exit(0);
+ } // End of usage
+
+
+
+ public void init() {
+ if (filename == null) {
+ // Applet
+ try {
+ URL path = getCodeBase();
+ filename = new URL(path.toString() + "./galleon.obj");
+ }
+ catch (MalformedURLException e) {
+ System.err.println(e);
+ System.exit(1);
+ }
+ }
+
+ setLayout(new BorderLayout());
+ GraphicsConfiguration config =
+ SimpleUniverse.getPreferredConfiguration();
+
+ Canvas3D c = new Canvas3D(config);
+ add("Center", c);
+
+ // Create a simple scene and attach it to the virtual universe
+ BranchGroup scene = createSceneGraph();
+ u = new SimpleUniverse(c);
+
+ // add mouse behaviors to the ViewingPlatform
+ ViewingPlatform viewingPlatform = u.getViewingPlatform();
+
+ PlatformGeometry pg = new PlatformGeometry();
+
+ // Set up the ambient light
+ Color3f ambientColor = new Color3f(0.1f, 0.1f, 0.1f);
+ AmbientLight ambientLightNode = new AmbientLight(ambientColor);
+ ambientLightNode.setInfluencingBounds(bounds);
+ pg.addChild(ambientLightNode);
+
+ // Set up the directional lights
+ Color3f light1Color = new Color3f(1.0f, 0.2f, 0.4f);
+ Vector3f light1Direction = new Vector3f(-1.0f, -1.0f, -1.0f);
+ Color3f light2Color = new Color3f(1.0f, 1.0f, 0.9f);
+ Vector3f light2Direction = new Vector3f(1.0f, 1.0f, 1.0f);
+
+ DirectionalLight light1
+ = new DirectionalLight(light1Color, light1Direction);
+ light1.setInfluencingBounds(bounds);
+ pg.addChild(light1);
+
+ DirectionalLight light2
+ = new DirectionalLight(light2Color, light2Direction);
+ light2.setInfluencingBounds(bounds);
+ pg.addChild(light2);
+
+ viewingPlatform.setPlatformGeometry( pg );
+
+ // This will move the ViewPlatform back a bit so the
+ // objects in the scene can be viewed.
+ viewingPlatform.setNominalViewingTransform();
+
+ if (!spin) {
+ OrbitBehavior orbit = new OrbitBehavior(c,
+ OrbitBehavior.REVERSE_ALL);
+ BoundingSphere bounds =
+ new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
+ orbit.setSchedulingBounds(bounds);
+ viewingPlatform.setViewPlatformBehavior(orbit);
+ }
+
+ /*
+ // Limit the frame rate to 100 Hz
+ u.getViewer().getView().setMinimumFrameCycleTime(10);
+ */
+
+ u.addBranchGraph(scene);
+ }
+
+ // Set shader program for all nodes in specified branch graph
+ private void setShaderProgram(BranchGroup g, ShaderProgram shaderProgram) {
+ ShaderAppearance myApp = new ShaderAppearance();
+ Material mat = new Material();
+ Texture2D tex2d = new Texture2D();
+ myApp.setCapability(Appearance.ALLOW_TEXTURE_WRITE);
+ myApp.setShaderProgram(shaderProgram);
+ myApp.setMaterial(mat);
+ myApp.setTexture(tex2d);
+ setShaderProgram(g, myApp);
+ }
+
+ // Recursively set shader program for all children of specified group
+ private void setShaderProgram(Group g,
+ ShaderAppearance myApp) {
+
+ Enumeration e = g.getAllChildren();
+ while (e.hasMoreElements()) {
+ Node n = (Node)(e.nextElement());
+ if (n instanceof Group) {
+ setShaderProgram((Group)n, myApp);
+ }
+ else if (n instanceof Shape3D) {
+ Shape3D s = (Shape3D)n;
+ s.setAppearance(myApp);
+ }
+ }
+ }
+
+ // Caled if running as a program
+ public ObjLoadGLSL(String[] args) {
+ if (args.length != 0) {
+ for (int i = 0 ; i < args.length ; i++) {
+ if (args[i].startsWith("-")) {
+ if (args[i].equals("-s")) {
+ spin = true;
+ } else if (args[i].equals("-n")) {
+ noTriangulate = true;
+ } else if (args[i].equals("-t")) {
+ noStripify = true;
+ } else if (args[i].equals("-c")) {
+ if (i < args.length - 1) {
+ creaseAngle = (new Double(args[++i])).doubleValue();
+ } else usage();
+ } else {
+ usage();
+ }
+ } else {
+ try {
+ if ((args[i].indexOf("file:") == 0) ||
+ (args[i].indexOf("http") == 0)) {
+ filename = new URL(args[i]);
+ }
+ else if (args[i].charAt(0) != '/') {
+ filename = new URL("file:./" + args[i]);
+ }
+ else {
+ filename = new URL("file:" + args[i]);
+ }
+ }
+ catch (MalformedURLException e) {
+ System.err.println(e);
+ System.exit(1);
+ }
+ }
+ }
+ }
+ }
+
+
+
+ // Running as an applet
+ public ObjLoadGLSL() {
+ }
+
+ public void destroy() {
+ u.cleanup();
+ }
+
+
+
+ //
+ // The following allows ObjLoadGLSL to be run as an application
+ // as well as an applet
+ //
+ public static void main(String[] args) {
+ new MainFrame(new ObjLoadGLSL(args), 700, 700);
+ }
+}
diff --git a/src/GLSLShaderTest/SphereGLSL.java b/src/GLSLShaderTest/SphereGLSL.java
new file mode 100644
index 0000000..4ad34b8
--- /dev/null
+++ b/src/GLSLShaderTest/SphereGLSL.java
@@ -0,0 +1,345 @@
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+
+import java.applet.Applet;
+import java.awt.*;
+import java.io.*;
+import com.sun.j3d.utils.applet.MainFrame;
+import com.sun.j3d.utils.geometry.Sphere;
+import com.sun.j3d.utils.shader.StringIO;
+import com.sun.j3d.utils.universe.*;
+import javax.media.j3d.*;
+import javax.vecmath.*;
+import java.util.Enumeration;
+import java.net.URL;
+import java.net.MalformedURLException;
+
+/**
+ * Simple GLSL Shader test program
+ */
+public class SphereGLSL extends Applet {
+
+ // Constants for type of light to use
+ private static final int DIRECTIONAL_LIGHT = 0;
+ private static final int POINT_LIGHT = 1;
+ private static final int SPOT_LIGHT = 2;
+
+ // Flag indicates type of lights: directional, point, or spot
+ // lights. This flag is set based on command line argument
+ private static int lightType = DIRECTIONAL_LIGHT;
+
+ private SimpleUniverse u = null;
+
+ public BranchGroup createSceneGraph(SimpleUniverse u) {
+ Color3f eColor = new Color3f(0.0f, 0.0f, 0.0f);
+ Color3f sColor = new Color3f(1.0f, 1.0f, 1.0f);
+ Color3f objColor = new Color3f(0.6f, 0.6f, 0.6f);
+ Color3f lColor1 = new Color3f(1.0f, 0.0f, 0.0f);
+ Color3f lColor2 = new Color3f(0.0f, 1.0f, 0.0f);
+ Color3f alColor = new Color3f(0.2f, 0.2f, 0.2f);
+ Color3f bgColor = new Color3f(0.05f, 0.05f, 0.2f);
+
+ Transform3D t;
+
+ // Create the root of the branch graph
+ BranchGroup objRoot = new BranchGroup();
+
+ // Create a Transformgroup to scale all objects so they
+ // appear in the scene.
+ TransformGroup objScale = new TransformGroup();
+ Transform3D t3d = new Transform3D();
+ t3d.setScale(0.4);
+ objScale.setTransform(t3d);
+ objRoot.addChild(objScale);
+
+ // Create a bounds for the background and lights
+ BoundingSphere bounds =
+ new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
+
+ // Set up the background
+ Background bg = new Background(bgColor);
+ bg.setApplicationBounds(bounds);
+ objScale.addChild(bg);
+
+ // Create a Sphere object, generate one copy of the sphere,
+ // and add it into the scene graph.
+ ShaderAppearance a = new ShaderAppearance();
+ Material m = new Material(objColor, eColor, objColor, sColor, 100.0f);
+ m.setLightingEnable(true);
+ Texture t2d = new Texture2D();
+ a.setTexture(t2d);
+ a.setCapability(Appearance.ALLOW_TEXTURE_WRITE);
+
+ String vertexProgram = null;
+ String fragmentProgram = null;
+ try {
+ vertexProgram = StringIO.readFully("./simple.vert");
+ fragmentProgram = StringIO.readFully("./simple.frag");
+ }
+ catch (IOException e) {
+ /*
+ e.printStackTrace();
+ System.exit(1);
+ */
+ System.err.println(e);
+ }
+ GLSLVertexShader vertexShader = new GLSLVertexShader(vertexProgram);
+ GLSLFragmentShader fragmentShader = new GLSLFragmentShader(fragmentProgram);
+ GLSLShaderProgram shaderProgram = new GLSLShaderProgram();
+ shaderProgram.setVertexShader(vertexShader);
+ shaderProgram.setFragmentShader(fragmentShader);
+
+ a.setShaderProgram(shaderProgram);
+ a.setMaterial(m);
+ Sphere sph = new Sphere(1.0f, Sphere.GENERATE_NORMALS, 200, a);
+ objScale.addChild(sph);
+
+ // Create the transform group node for the each light and initialize
+ // it to the identity. Enable the TRANSFORM_WRITE capability so that
+ // our behavior code can modify it at runtime. Add them to the root
+ // of the subgraph.
+ TransformGroup l1RotTrans = new TransformGroup();
+ l1RotTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
+ objScale.addChild(l1RotTrans);
+
+ TransformGroup l2RotTrans = new TransformGroup();
+ l2RotTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
+ objScale.addChild(l2RotTrans);
+
+ // Create transformations for the positional lights
+ t = new Transform3D();
+ Vector3d lPos1 = new Vector3d(0.0, 0.0, 2.0);
+ t.set(lPos1);
+ TransformGroup l1Trans = new TransformGroup(t);
+ l1RotTrans.addChild(l1Trans);
+
+ t = new Transform3D();
+ Vector3d lPos2 = new Vector3d(0.5, 0.8, 2.0);
+ t.set(lPos2);
+ TransformGroup l2Trans = new TransformGroup(t);
+ l2RotTrans.addChild(l2Trans);
+
+ /*
+ // Create Geometry for point lights
+ ColoringAttributes caL1 = new ColoringAttributes();
+ ColoringAttributes caL2 = new ColoringAttributes();
+ caL1.setColor(lColor1);
+ caL2.setColor(lColor2);
+ Appearance appL1 = new Appearance();
+ Appearance appL2 = new Appearance();
+ appL1.setColoringAttributes(caL1);
+ appL2.setColoringAttributes(caL2);
+ l1Trans.addChild(new Sphere(0.05f, appL1));
+ l2Trans.addChild(new Sphere(0.05f, appL2));
+ */
+
+ // Create lights
+ AmbientLight aLgt = new AmbientLight(alColor);
+
+ Light lgt1 = null;
+ Light lgt2 = null;
+
+ Point3f lPoint = new Point3f(0.0f, 0.0f, 0.0f);
+ Point3f atten = new Point3f(1.0f, 0.0f, 0.0f);
+ Vector3f lDirect1 = new Vector3f(lPos1);
+ Vector3f lDirect2 = new Vector3f(lPos2);
+ lDirect1.negate();
+ lDirect2.negate();
+
+ switch (lightType) {
+ case DIRECTIONAL_LIGHT:
+ lgt1 = new DirectionalLight(lColor1, lDirect1);
+ lgt2 = new DirectionalLight(lColor2, lDirect2);
+ break;
+ case POINT_LIGHT:
+ lgt1 = new PointLight(lColor1, lPoint, atten);
+ lgt2 = new PointLight(lColor2, lPoint, atten);
+ break;
+ case SPOT_LIGHT:
+ lgt1 = new SpotLight(lColor1, lPoint, atten, lDirect1,
+ 25.0f * (float)Math.PI / 180.0f, 10.0f);
+ lgt2 = new SpotLight(lColor2, lPoint, atten, lDirect2,
+ 25.0f * (float)Math.PI / 180.0f, 10.0f);
+ break;
+ }
+
+ // Set the influencing bounds
+ aLgt.setInfluencingBounds(bounds);
+ lgt1.setInfluencingBounds(bounds);
+ lgt2.setInfluencingBounds(bounds);
+
+ // Add the lights into the scene graph
+ objScale.addChild(aLgt);
+ l1Trans.addChild(lgt1);
+ l2Trans.addChild(lgt2);
+
+ // Create a new Behavior object that will perform the desired
+ // operation on the specified transform object and add it into the
+ // scene graph.
+ Transform3D yAxis = new Transform3D();
+ Alpha rotor1Alpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
+ 0, 0,
+ 4000, 0, 0,
+ 0, 0, 0);
+ RotationInterpolator rotator1 =
+ new RotationInterpolator(rotor1Alpha,
+ l1RotTrans,
+ yAxis,
+ 0.0f, (float) Math.PI*2.0f);
+ rotator1.setSchedulingBounds(bounds);
+ l1RotTrans.addChild(rotator1);
+
+ // Create a new Behavior object that will perform the desired
+ // operation on the specified transform object and add it into the
+ // scene graph.
+ Alpha rotor2Alpha = new Alpha(-1, Alpha.INCREASING_ENABLE,
+ 0, 0,
+ 1000, 0, 0,
+ 0, 0, 0);
+ RotationInterpolator rotator2 =
+ new RotationInterpolator(rotor2Alpha,
+ l2RotTrans,
+ yAxis,
+ 0.0f, 0.0f);
+ bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
+ rotator2.setSchedulingBounds(bounds);
+ l2RotTrans.addChild(rotator2);
+
+ // Create a position interpolator and attach it to the view
+ // platform
+ TransformGroup vpTrans =
+ u.getViewingPlatform().getViewPlatformTransform();
+ Transform3D axisOfTranslation = new Transform3D();
+ Alpha transAlpha = new Alpha(-1,
+ Alpha.INCREASING_ENABLE |
+ Alpha.DECREASING_ENABLE,
+ 0, 0,
+ 5000, 0, 0,
+ 5000, 0, 0);
+ axisOfTranslation.rotY(-Math.PI/2.0);
+ PositionInterpolator translator =
+ new PositionInterpolator(transAlpha,
+ vpTrans,
+ axisOfTranslation,
+ 2.0f, 3.5f);
+ translator.setSchedulingBounds(bounds);
+ objScale.addChild(translator);
+
+ // Let Java 3D perform optimizations on this scene graph.
+ objRoot.compile();
+
+ return objRoot;
+ }
+
+ public SphereGLSL() {
+ }
+
+ public void init() {
+ setLayout(new BorderLayout());
+ GraphicsConfiguration config =
+ SimpleUniverse.getPreferredConfiguration();
+
+ Canvas3D c = new Canvas3D(config);
+ add("Center", c);
+
+ u = new SimpleUniverse(c);
+ BranchGroup scene = createSceneGraph(u);
+
+ // This will move the ViewPlatform back a bit so the
+ // objects in the scene can be viewed.
+ u.getViewingPlatform().setNominalViewingTransform();
+
+ /*
+ // Limit the frame rate to 100 Hz
+ u.getViewer().getView().setMinimumFrameCycleTime(10);
+ */
+
+ u.addBranchGraph(scene);
+ }
+
+ public void destroy() {
+ u.cleanup();
+ }
+
+ //
+ // The following allows SphereGLSL to be run as an application
+ // as well as an applet
+ //
+ public static void main(String[] args) {
+ // Parse the Input Arguments
+ String usage = "Usage: java SphereGLSL [-point | -spot | -dir]";
+ for (int i = 0; i < args.length; i++) {
+ if (args[i].startsWith("-")) {
+ if (args[i].equals("-point")) {
+ /*
+ System.out.println("Using point lights");
+ lightType = POINT_LIGHT;
+ */
+ System.out.println("Point lights not yet implemented, option ignored");
+ }
+ else if (args[i].equals("-spot")) {
+ /*
+ System.out.println("Using spot lights");
+ lightType = SPOT_LIGHT;
+ */
+ System.out.println("Spot lights not yet implemented, option ignored");
+ }
+ else if (args[i].equals("-dir")) {
+ System.out.println("Using directional lights");
+ lightType = DIRECTIONAL_LIGHT;
+ }
+ else {
+ System.out.println(usage);
+ System.exit(0);
+ }
+ }
+ else {
+ System.out.println(usage);
+ System.exit(0);
+ }
+ }
+
+ new MainFrame(new SphereGLSL(), 700, 700);
+ }
+}
diff --git a/src/GLSLShaderTest/build.xml b/src/GLSLShaderTest/build.xml
new file mode 100644
index 0000000..47e5a36
--- /dev/null
+++ b/src/GLSLShaderTest/build.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+
+<!--
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+ -->
+
+<project basedir="." default="compile">
+ <target name="compile">
+ <javac
+ destdir="." srcdir="."
+ source="1.4" target="1.4"
+ debug="true" deprecation="true">
+ </javac>
+ </target>
+
+ <target name="all" depends="compile">
+ </target>
+
+ <target description="Clean all build products." name="clean">
+ <delete>
+ <fileset dir=".">
+ <include name="**/*.class"/>
+ </fileset>
+ </delete>
+ </target>
+
+</project>
diff --git a/src/GLSLShaderTest/simple.frag b/src/GLSLShaderTest/simple.frag
new file mode 100644
index 0000000..61c83ec
--- /dev/null
+++ b/src/GLSLShaderTest/simple.frag
@@ -0,0 +1,62 @@
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+
+// Simple GLSL fragment program to attenuate the input fragment color as a
+// function of the distance of the fragment position from the center
+// of the window
+
+const float windowSize = 700.0; // TODO: this should be a built-in parameter!
+
+void main()
+{
+ // Compute distance from center in range [0.0, 1.0]
+ vec2 dist = min(abs((gl_FragCoord.xy - (windowSize)/2.0) / windowSize), 1.0);
+ vec2 invDist = 1.0 - dist;
+
+ // Compute attenuation
+ float atten = invDist.x * invDist.y;
+ vec4 outcolor = (gl_Color + gl_SecondaryColor) * atten;
+
+ gl_FragColor = outcolor;
+}
diff --git a/src/GLSLShaderTest/simple.vert b/src/GLSLShaderTest/simple.vert
new file mode 100644
index 0000000..c593816
--- /dev/null
+++ b/src/GLSLShaderTest/simple.vert
@@ -0,0 +1,129 @@
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any
+ * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
+ * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
+ * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL
+ * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF
+ * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
+ * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
+ * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL,
+ * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
+ * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR
+ * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed, licensed or
+ * intended for use in the design, construction, operation or
+ * maintenance of any nuclear facility.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+
+// A simple GLSL vertex program for handling 2 directional lights with
+// separate specular
+
+void directionalLight(
+ in int i,
+ in vec3 normal,
+ inout vec4 ambient,
+ inout vec4 diffuse,
+ inout vec4 specular)
+{
+ // Normalized light direction and half vector
+ // (shouldn't they be pre-normalized?!)
+ vec3 lightDirection = normalize(vec3(gl_LightSource[i].position));
+ vec3 halfVector = normalize(vec3(gl_LightSource[i].halfVector));
+
+ float nDotVP; // normal . light_direction
+ float nDotHV; // normal . light_half_vector
+ float pf; // power factor
+
+ nDotVP = max(0.0, dot(normal, lightDirection));
+ nDotHV = max(0.0, dot(normal, halfVector));
+
+ if (nDotVP == 0.0) {
+ pf = 0.0;
+ }
+ else {
+ pf = pow(nDotHV, gl_FrontMaterial.shininess);
+ }
+
+ ambient += gl_LightSource[i].ambient;
+ diffuse += gl_LightSource[i].diffuse * nDotVP;
+ specular += gl_LightSource[i].specular * pf;
+}
+
+
+const int numEnabledLights = 2; // TODO: this should be a built-in parameter!
+
+void main()
+{
+ //vec4 ecPosition = gl_ModelViewMatrix * gl_Vertex;
+ //vec3 ecPosition3 = ecPosition.xyz / ecPosition.w;
+ vec3 tnorm = normalize(vec3(gl_NormalMatrix * gl_Normal));
+ vec4 amb = vec4(0.0);
+ vec4 diff = vec4(0.0);
+ vec4 spec = vec4(0.0);
+ int i;
+
+ // Transform the vertex
+ vec4 outPosition = gl_ModelViewProjectionMatrix * gl_Vertex;
+
+ for (i = 0; i < numEnabledLights; i++) {
+ directionalLight(i, tnorm, amb, diff, spec);
+ }
+
+ // Apply the result of the lighting equation
+ vec4 outSecondaryColor = vec4(vec3(spec * gl_FrontMaterial.specular), 1.0);
+ vec3 color0 = vec3(gl_FrontLightModelProduct.sceneColor +
+ amb * gl_FrontMaterial.ambient +
+ diff * gl_FrontMaterial.diffuse);
+
+ // Generate a pseudo-random noise pattern
+ vec3 xyz = clamp((outPosition.xyz + 1.0) * 0.5, 0.0, 1.0);
+
+ xyz = fract(xyz * 262144.0);
+ float randSeed = fract(3.0 * xyz.x + 5.0 * xyz.y + 7.0 * xyz.z);
+
+ vec3 altColor;
+
+ randSeed = fract(37.0 * randSeed);
+ altColor.x = randSeed * 0.5 + 0.5;
+ randSeed = fract(37.0 * randSeed);
+ altColor.y = randSeed * 0.5 + 0.5;
+ randSeed = fract(37.0 * randSeed);
+ altColor.z = randSeed * 0.5 + 0.5;
+ randSeed = fract(37.0 * randSeed);
+ float altAlpha = randSeed * 0.5;
+
+ // Apply noise and output final vertex color
+ vec4 outColor;
+ outColor = vec4(mix(color0, altColor, altAlpha), 1.0);
+
+ gl_FrontColor = outColor;
+ gl_FrontSecondaryColor = outSecondaryColor;
+ gl_Position = outPosition;
+}
diff --git a/src/GearTest/Gear.java b/src/GearTest/Gear.java
index 419d795..fbd0f03 100644
--- a/src/GearTest/Gear.java
+++ b/src/GearTest/Gear.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GearTest/GearBox.java b/src/GearTest/GearBox.java
index be9ab6f..bac308a 100644
--- a/src/GearTest/GearBox.java
+++ b/src/GearTest/GearBox.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GearTest/GearTest.java b/src/GearTest/GearTest.java
index 112fbe4..99c9e27 100644
--- a/src/GearTest/GearTest.java
+++ b/src/GearTest/GearTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GearTest/Shaft.java b/src/GearTest/Shaft.java
index 77f7f46..f7f9d9a 100644
--- a/src/GearTest/Shaft.java
+++ b/src/GearTest/Shaft.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GearTest/SpurGear.java b/src/GearTest/SpurGear.java
index 1dd2201..c294503 100644
--- a/src/GearTest/SpurGear.java
+++ b/src/GearTest/SpurGear.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GearTest/SpurGearThinBody.java b/src/GearTest/SpurGearThinBody.java
index c598fce..76f2415 100644
--- a/src/GearTest/SpurGearThinBody.java
+++ b/src/GearTest/SpurGearThinBody.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GearTest/build.xml b/src/GearTest/build.xml
index 47e5a36..def3da4 100644
--- a/src/GearTest/build.xml
+++ b/src/GearTest/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GeometryByReference/GeometryByReferenceNIOBuffer.java b/src/GeometryByReference/GeometryByReferenceNIOBuffer.java
index 5518491..0204b64 100644
--- a/src/GeometryByReference/GeometryByReferenceNIOBuffer.java
+++ b/src/GeometryByReference/GeometryByReferenceNIOBuffer.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GeometryByReference/GeometryByReferenceTest.java b/src/GeometryByReference/GeometryByReferenceTest.java
index 2c4a6f7..486f5dc 100644
--- a/src/GeometryByReference/GeometryByReferenceTest.java
+++ b/src/GeometryByReference/GeometryByReferenceTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GeometryByReference/ImageComponentByReferenceTest.java b/src/GeometryByReference/ImageComponentByReferenceTest.java
index 24f20f8..3c378e0 100644
--- a/src/GeometryByReference/ImageComponentByReferenceTest.java
+++ b/src/GeometryByReference/ImageComponentByReferenceTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GeometryByReference/InterleavedNIOBuffer.java b/src/GeometryByReference/InterleavedNIOBuffer.java
index a66b11d..168333e 100644
--- a/src/GeometryByReference/InterleavedNIOBuffer.java
+++ b/src/GeometryByReference/InterleavedNIOBuffer.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GeometryByReference/InterleavedTest.java b/src/GeometryByReference/InterleavedTest.java
index c65906d..781c49b 100644
--- a/src/GeometryByReference/InterleavedTest.java
+++ b/src/GeometryByReference/InterleavedTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GeometryByReference/TiledImage.java b/src/GeometryByReference/TiledImage.java
index bd9e469..c985495 100644
--- a/src/GeometryByReference/TiledImage.java
+++ b/src/GeometryByReference/TiledImage.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GeometryByReference/build.xml b/src/GeometryByReference/build.xml
index 47e5a36..def3da4 100644
--- a/src/GeometryByReference/build.xml
+++ b/src/GeometryByReference/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GeometryCompression/ObjectFileCompressor.java b/src/GeometryCompression/ObjectFileCompressor.java
index dcd1bc1..d889ead 100644
--- a/src/GeometryCompression/ObjectFileCompressor.java
+++ b/src/GeometryCompression/ObjectFileCompressor.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GeometryCompression/build.xml b/src/GeometryCompression/build.xml
index 47e5a36..def3da4 100644
--- a/src/GeometryCompression/build.xml
+++ b/src/GeometryCompression/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GeometryCompression/cgview.java b/src/GeometryCompression/cgview.java
index 60da3f3..7ec319f 100644
--- a/src/GeometryCompression/cgview.java
+++ b/src/GeometryCompression/cgview.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/GeometryCompression/obj2cg.java b/src/GeometryCompression/obj2cg.java
index ef231f3..5aac88c 100644
--- a/src/GeometryCompression/obj2cg.java
+++ b/src/GeometryCompression/obj2cg.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/HelloUniverse/HelloUniverse.java b/src/HelloUniverse/HelloUniverse.java
index 7616a88..dd762e2 100644
--- a/src/HelloUniverse/HelloUniverse.java
+++ b/src/HelloUniverse/HelloUniverse.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/HelloUniverse/build.xml b/src/HelloUniverse/build.xml
index 47e5a36..def3da4 100644
--- a/src/HelloUniverse/build.xml
+++ b/src/HelloUniverse/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/LOD/LOD.java b/src/LOD/LOD.java
index 74ada7d..a9a8722 100644
--- a/src/LOD/LOD.java
+++ b/src/LOD/LOD.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/LOD/build.xml b/src/LOD/build.xml
index 47e5a36..def3da4 100644
--- a/src/LOD/build.xml
+++ b/src/LOD/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Lightwave/Viewer.java b/src/Lightwave/Viewer.java
index 834bd27..30ad58d 100644
--- a/src/Lightwave/Viewer.java
+++ b/src/Lightwave/Viewer.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Lightwave/build.xml b/src/Lightwave/build.xml
index 47e5a36..def3da4 100644
--- a/src/Lightwave/build.xml
+++ b/src/Lightwave/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/ModelClip/ModelClipTest.java b/src/ModelClip/ModelClipTest.java
index 0395b87..fc55a3a 100644
--- a/src/ModelClip/ModelClipTest.java
+++ b/src/ModelClip/ModelClipTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/ModelClip/ModelClipTest2.java b/src/ModelClip/ModelClipTest2.java
index 4558ff6..1e8e276 100644
--- a/src/ModelClip/ModelClipTest2.java
+++ b/src/ModelClip/ModelClipTest2.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/ModelClip/build.xml b/src/ModelClip/build.xml
index 47e5a36..def3da4 100644
--- a/src/ModelClip/build.xml
+++ b/src/ModelClip/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Morphing/ColorCube.java b/src/Morphing/ColorCube.java
index c61644d..74758fb 100644
--- a/src/Morphing/ColorCube.java
+++ b/src/Morphing/ColorCube.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Morphing/ColorPyramidDown.java b/src/Morphing/ColorPyramidDown.java
index 96c8f09..280b3fb 100644
--- a/src/Morphing/ColorPyramidDown.java
+++ b/src/Morphing/ColorPyramidDown.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Morphing/ColorPyramidUp.java b/src/Morphing/ColorPyramidUp.java
index b43ddd9..4cca260 100644
--- a/src/Morphing/ColorPyramidUp.java
+++ b/src/Morphing/ColorPyramidUp.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Morphing/Morphing.java b/src/Morphing/Morphing.java
index 182ac87..326f78c 100644
--- a/src/Morphing/Morphing.java
+++ b/src/Morphing/Morphing.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Morphing/MorphingBehavior.java b/src/Morphing/MorphingBehavior.java
index 3780fac..730434c 100644
--- a/src/Morphing/MorphingBehavior.java
+++ b/src/Morphing/MorphingBehavior.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Morphing/Pyramid2Cube.java b/src/Morphing/Pyramid2Cube.java
index a9da9ce..9d3858c 100644
--- a/src/Morphing/Pyramid2Cube.java
+++ b/src/Morphing/Pyramid2Cube.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Morphing/build.xml b/src/Morphing/build.xml
index 47e5a36..def3da4 100644
--- a/src/Morphing/build.xml
+++ b/src/Morphing/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/ObjLoad/ObjLoad.java b/src/ObjLoad/ObjLoad.java
index ac5cad1..0436d6a 100644
--- a/src/ObjLoad/ObjLoad.java
+++ b/src/ObjLoad/ObjLoad.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/ObjLoad/build.xml b/src/ObjLoad/build.xml
index 47e5a36..def3da4 100644
--- a/src/ObjLoad/build.xml
+++ b/src/ObjLoad/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/OffScreenCanvas3D/OffScreenCanvas3D.java b/src/OffScreenCanvas3D/OffScreenCanvas3D.java
index 9b9401f..81bf01c 100644
--- a/src/OffScreenCanvas3D/OffScreenCanvas3D.java
+++ b/src/OffScreenCanvas3D/OffScreenCanvas3D.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/OffScreenCanvas3D/OffScreenTest.java b/src/OffScreenCanvas3D/OffScreenTest.java
index 0f503ce..bb395a1 100644
--- a/src/OffScreenCanvas3D/OffScreenTest.java
+++ b/src/OffScreenCanvas3D/OffScreenTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/OffScreenCanvas3D/OnScreenCanvas3D.java b/src/OffScreenCanvas3D/OnScreenCanvas3D.java
index fe1dadf..510f0bb 100644
--- a/src/OffScreenCanvas3D/OnScreenCanvas3D.java
+++ b/src/OffScreenCanvas3D/OnScreenCanvas3D.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/OffScreenCanvas3D/PrintFromButton.java b/src/OffScreenCanvas3D/PrintFromButton.java
index 9a22260..fb239cb 100644
--- a/src/OffScreenCanvas3D/PrintFromButton.java
+++ b/src/OffScreenCanvas3D/PrintFromButton.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/OffScreenCanvas3D/build.xml b/src/OffScreenCanvas3D/build.xml
index 47e5a36..def3da4 100644
--- a/src/OffScreenCanvas3D/build.xml
+++ b/src/OffScreenCanvas3D/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/OrientedShape3D/MouseRotateY.java b/src/OrientedShape3D/MouseRotateY.java
index cfe5a75..b727deb 100644
--- a/src/OrientedShape3D/MouseRotateY.java
+++ b/src/OrientedShape3D/MouseRotateY.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/OrientedShape3D/OrientedPtTest.java b/src/OrientedShape3D/OrientedPtTest.java
index d3e04f6..ffe7d8a 100644
--- a/src/OrientedShape3D/OrientedPtTest.java
+++ b/src/OrientedShape3D/OrientedPtTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/OrientedShape3D/OrientedTest.java b/src/OrientedShape3D/OrientedTest.java
index eeb95f2..64123af 100644
--- a/src/OrientedShape3D/OrientedTest.java
+++ b/src/OrientedShape3D/OrientedTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/OrientedShape3D/build.xml b/src/OrientedShape3D/build.xml
index 47e5a36..def3da4 100644
--- a/src/OrientedShape3D/build.xml
+++ b/src/OrientedShape3D/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PackageInfo/PackageInfo.java b/src/PackageInfo/PackageInfo.java
index aab8c03..a1c0df2 100644
--- a/src/PackageInfo/PackageInfo.java
+++ b/src/PackageInfo/PackageInfo.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PackageInfo/QueryProperties.java b/src/PackageInfo/QueryProperties.java
index 3be59f0..7ccc054 100644
--- a/src/PackageInfo/QueryProperties.java
+++ b/src/PackageInfo/QueryProperties.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PackageInfo/build.xml b/src/PackageInfo/build.xml
index 47e5a36..def3da4 100644
--- a/src/PackageInfo/build.xml
+++ b/src/PackageInfo/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/BoltCG.java b/src/PickTest/BoltCG.java
index 6f98e30..836305d 100644
--- a/src/PickTest/BoltCG.java
+++ b/src/PickTest/BoltCG.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/ColorCube.java b/src/PickTest/ColorCube.java
index c61644d..74758fb 100644
--- a/src/PickTest/ColorCube.java
+++ b/src/PickTest/ColorCube.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/ColorPyramidDown.java b/src/PickTest/ColorPyramidDown.java
index 96c8f09..280b3fb 100644
--- a/src/PickTest/ColorPyramidDown.java
+++ b/src/PickTest/ColorPyramidDown.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/ColorPyramidUp.java b/src/PickTest/ColorPyramidUp.java
index b43ddd9..4cca260 100644
--- a/src/PickTest/ColorPyramidUp.java
+++ b/src/PickTest/ColorPyramidUp.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/CubeIQA.java b/src/PickTest/CubeIQA.java
index 8f63f36..f1f6155 100644
--- a/src/PickTest/CubeIQA.java
+++ b/src/PickTest/CubeIQA.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/CubeQA.java b/src/PickTest/CubeQA.java
index 838a57e..cf31111 100644
--- a/src/PickTest/CubeQA.java
+++ b/src/PickTest/CubeQA.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/GullCG.java b/src/PickTest/GullCG.java
index 9cd3cd7..78ec036 100644
--- a/src/PickTest/GullCG.java
+++ b/src/PickTest/GullCG.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/IcosahedronITSA.java b/src/PickTest/IcosahedronITSA.java
index e55a42a..13ee53e 100644
--- a/src/PickTest/IcosahedronITSA.java
+++ b/src/PickTest/IcosahedronITSA.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/IcosahedronTSA.java b/src/PickTest/IcosahedronTSA.java
index 83d6f0c..f46ba75 100644
--- a/src/PickTest/IcosahedronTSA.java
+++ b/src/PickTest/IcosahedronTSA.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/IntersectInfoBehavior.java b/src/PickTest/IntersectInfoBehavior.java
index 1ca39c6..226c6a4 100644
--- a/src/PickTest/IntersectInfoBehavior.java
+++ b/src/PickTest/IntersectInfoBehavior.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/IntersectTest.java b/src/PickTest/IntersectTest.java
index f4e70cb..206ea8f 100644
--- a/src/PickTest/IntersectTest.java
+++ b/src/PickTest/IntersectTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/MorphingBehavior.java b/src/PickTest/MorphingBehavior.java
index 3780fac..730434c 100644
--- a/src/PickTest/MorphingBehavior.java
+++ b/src/PickTest/MorphingBehavior.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/OctahedronITFA.java b/src/PickTest/OctahedronITFA.java
index 0ddc789..c5d6f3a 100644
--- a/src/PickTest/OctahedronITFA.java
+++ b/src/PickTest/OctahedronITFA.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/OctahedronTFA.java b/src/PickTest/OctahedronTFA.java
index ef7e376..57ecd89 100644
--- a/src/PickTest/OctahedronTFA.java
+++ b/src/PickTest/OctahedronTFA.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/PickTest.java b/src/PickTest/PickTest.java
index b4817f7..144eccd 100644
--- a/src/PickTest/PickTest.java
+++ b/src/PickTest/PickTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/RandomColorCube.java b/src/PickTest/RandomColorCube.java
index 77ac9f7..c9a91ee 100644
--- a/src/PickTest/RandomColorCube.java
+++ b/src/PickTest/RandomColorCube.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/RandomColorTetrahedron.java b/src/PickTest/RandomColorTetrahedron.java
index c1e7ead..940a7c1 100644
--- a/src/PickTest/RandomColorTetrahedron.java
+++ b/src/PickTest/RandomColorTetrahedron.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/TetrahedronILA.java b/src/PickTest/TetrahedronILA.java
index 18d16bd..1558a4d 100644
--- a/src/PickTest/TetrahedronILA.java
+++ b/src/PickTest/TetrahedronILA.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/TetrahedronILSA.java b/src/PickTest/TetrahedronILSA.java
index da516a9..8086f30 100644
--- a/src/PickTest/TetrahedronILSA.java
+++ b/src/PickTest/TetrahedronILSA.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/TetrahedronIPA.java b/src/PickTest/TetrahedronIPA.java
index 0d2047c..117960d 100644
--- a/src/PickTest/TetrahedronIPA.java
+++ b/src/PickTest/TetrahedronIPA.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/TetrahedronITA.java b/src/PickTest/TetrahedronITA.java
index 0013c0f..795796d 100644
--- a/src/PickTest/TetrahedronITA.java
+++ b/src/PickTest/TetrahedronITA.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/TetrahedronLA.java b/src/PickTest/TetrahedronLA.java
index 4eef7cc..858f88c 100644
--- a/src/PickTest/TetrahedronLA.java
+++ b/src/PickTest/TetrahedronLA.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/TetrahedronLSA.java b/src/PickTest/TetrahedronLSA.java
index 29b189b..9317387 100644
--- a/src/PickTest/TetrahedronLSA.java
+++ b/src/PickTest/TetrahedronLSA.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/TetrahedronPA.java b/src/PickTest/TetrahedronPA.java
index 0ffb7b9..d1bcda9 100644
--- a/src/PickTest/TetrahedronPA.java
+++ b/src/PickTest/TetrahedronPA.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/TetrahedronTA.java b/src/PickTest/TetrahedronTA.java
index 7887380..f2ba169 100644
--- a/src/PickTest/TetrahedronTA.java
+++ b/src/PickTest/TetrahedronTA.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickTest/build.xml b/src/PickTest/build.xml
index 47e5a36..def3da4 100644
--- a/src/PickTest/build.xml
+++ b/src/PickTest/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickText3D/PickText3DBounds.java b/src/PickText3D/PickText3DBounds.java
index 1746883..3aaa95b 100644
--- a/src/PickText3D/PickText3DBounds.java
+++ b/src/PickText3D/PickText3DBounds.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickText3D/PickText3DGeometry.java b/src/PickText3D/PickText3DGeometry.java
index a4203b9..90b4017 100644
--- a/src/PickText3D/PickText3DGeometry.java
+++ b/src/PickText3D/PickText3DGeometry.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PickText3D/build.xml b/src/PickText3D/build.xml
index 47e5a36..def3da4 100644
--- a/src/PickText3D/build.xml
+++ b/src/PickText3D/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PlatformGeometry/SimpleGeometry.java b/src/PlatformGeometry/SimpleGeometry.java
index 0bd177f..5913b31 100644
--- a/src/PlatformGeometry/SimpleGeometry.java
+++ b/src/PlatformGeometry/SimpleGeometry.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PlatformGeometry/build.xml b/src/PlatformGeometry/build.xml
index 47e5a36..def3da4 100644
--- a/src/PlatformGeometry/build.xml
+++ b/src/PlatformGeometry/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PrintCanvas3D/ImageDisplayer.java b/src/PrintCanvas3D/ImageDisplayer.java
index f2f950a..30f498e 100644
--- a/src/PrintCanvas3D/ImageDisplayer.java
+++ b/src/PrintCanvas3D/ImageDisplayer.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PrintCanvas3D/ImagePrinter.java b/src/PrintCanvas3D/ImagePrinter.java
index 247cb1e..dad980f 100644
--- a/src/PrintCanvas3D/ImagePrinter.java
+++ b/src/PrintCanvas3D/ImagePrinter.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PrintCanvas3D/OffScreenCanvas3D.java b/src/PrintCanvas3D/OffScreenCanvas3D.java
index bc7a357..7607db0 100644
--- a/src/PrintCanvas3D/OffScreenCanvas3D.java
+++ b/src/PrintCanvas3D/OffScreenCanvas3D.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PrintCanvas3D/PrintCanvas3D.java b/src/PrintCanvas3D/PrintCanvas3D.java
index 75e3749..a6ac4c3 100644
--- a/src/PrintCanvas3D/PrintCanvas3D.java
+++ b/src/PrintCanvas3D/PrintCanvas3D.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PrintCanvas3D/build.xml b/src/PrintCanvas3D/build.xml
index 47e5a36..def3da4 100644
--- a/src/PrintCanvas3D/build.xml
+++ b/src/PrintCanvas3D/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PureImmediate/PureImmediate.java b/src/PureImmediate/PureImmediate.java
index 5ac8f5a..a860e80 100644
--- a/src/PureImmediate/PureImmediate.java
+++ b/src/PureImmediate/PureImmediate.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PureImmediate/PureImmediateStereo.java b/src/PureImmediate/PureImmediateStereo.java
index 94342d2..12db8b3 100644
--- a/src/PureImmediate/PureImmediateStereo.java
+++ b/src/PureImmediate/PureImmediateStereo.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/PureImmediate/build.xml b/src/PureImmediate/build.xml
index 47e5a36..def3da4 100644
--- a/src/PureImmediate/build.xml
+++ b/src/PureImmediate/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/ReadRaster/ReadRaster.java b/src/ReadRaster/ReadRaster.java
index 871befb..d4fdc14 100644
--- a/src/ReadRaster/ReadRaster.java
+++ b/src/ReadRaster/ReadRaster.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/ReadRaster/build.xml b/src/ReadRaster/build.xml
index 47e5a36..def3da4 100644
--- a/src/ReadRaster/build.xml
+++ b/src/ReadRaster/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Sound/AudioBehaviorMoveOne.java b/src/Sound/AudioBehaviorMoveOne.java
index 3254251..440158e 100644
--- a/src/Sound/AudioBehaviorMoveOne.java
+++ b/src/Sound/AudioBehaviorMoveOne.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Sound/AudioReverberate.java b/src/Sound/AudioReverberate.java
index a5dc382..7befc2c 100644
--- a/src/Sound/AudioReverberate.java
+++ b/src/Sound/AudioReverberate.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Sound/MoveAppBoundingLeaf.java b/src/Sound/MoveAppBoundingLeaf.java
index b4ca59f..35d99e5 100644
--- a/src/Sound/MoveAppBoundingLeaf.java
+++ b/src/Sound/MoveAppBoundingLeaf.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Sound/ReverberateSound.java b/src/Sound/ReverberateSound.java
index bef45a1..2404a39 100644
--- a/src/Sound/ReverberateSound.java
+++ b/src/Sound/ReverberateSound.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Sound/SimpleSounds.java b/src/Sound/SimpleSounds.java
index c6c385c..e40c58c 100644
--- a/src/Sound/SimpleSounds.java
+++ b/src/Sound/SimpleSounds.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Sound/SimpleSoundsBehavior.java b/src/Sound/SimpleSoundsBehavior.java
index a1371f3..6293d3d 100644
--- a/src/Sound/SimpleSoundsBehavior.java
+++ b/src/Sound/SimpleSoundsBehavior.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Sound/build.xml b/src/Sound/build.xml
index 47e5a36..def3da4 100644
--- a/src/Sound/build.xml
+++ b/src/Sound/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/SphereMotion/SphereMotion.java b/src/SphereMotion/SphereMotion.java
index 8b976bc..59b7c7d 100644
--- a/src/SphereMotion/SphereMotion.java
+++ b/src/SphereMotion/SphereMotion.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/SphereMotion/build.xml b/src/SphereMotion/build.xml
index 47e5a36..def3da4 100644
--- a/src/SphereMotion/build.xml
+++ b/src/SphereMotion/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/SplineAnim/SplineAnim.java b/src/SplineAnim/SplineAnim.java
index b89b880..df9404a 100644
--- a/src/SplineAnim/SplineAnim.java
+++ b/src/SplineAnim/SplineAnim.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/SplineAnim/build.xml b/src/SplineAnim/build.xml
index 47e5a36..def3da4 100644
--- a/src/SplineAnim/build.xml
+++ b/src/SplineAnim/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Text2D/MoverBehavior.java b/src/Text2D/MoverBehavior.java
index 8e423f9..27c0856 100644
--- a/src/Text2D/MoverBehavior.java
+++ b/src/Text2D/MoverBehavior.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Text2D/Text2DTest.java b/src/Text2D/Text2DTest.java
index 6b8c0c5..0934f29 100644
--- a/src/Text2D/Text2DTest.java
+++ b/src/Text2D/Text2DTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Text2D/build.xml b/src/Text2D/build.xml
index 47e5a36..def3da4 100644
--- a/src/Text2D/build.xml
+++ b/src/Text2D/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Text3D/Text3DLoad.java b/src/Text3D/Text3DLoad.java
index 0d7ad3e..a09fe9f 100644
--- a/src/Text3D/Text3DLoad.java
+++ b/src/Text3D/Text3DLoad.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Text3D/build.xml b/src/Text3D/build.xml
index 47e5a36..def3da4 100644
--- a/src/Text3D/build.xml
+++ b/src/Text3D/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TextureByReference/AnimateTexturesBehavior.java b/src/TextureByReference/AnimateTexturesBehavior.java
index f8889c6..adf9e60 100644
--- a/src/TextureByReference/AnimateTexturesBehavior.java
+++ b/src/TextureByReference/AnimateTexturesBehavior.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TextureByReference/ImageOps.java b/src/TextureByReference/ImageOps.java
index be25f0f..b099ba2 100644
--- a/src/TextureByReference/ImageOps.java
+++ b/src/TextureByReference/ImageOps.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TextureByReference/Tetrahedron.java b/src/TextureByReference/Tetrahedron.java
index c2c4fe7..eefd85c 100644
--- a/src/TextureByReference/Tetrahedron.java
+++ b/src/TextureByReference/Tetrahedron.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TextureByReference/TextureByReference.java b/src/TextureByReference/TextureByReference.java
index 93cfeec..95515cb 100644
--- a/src/TextureByReference/TextureByReference.java
+++ b/src/TextureByReference/TextureByReference.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TextureByReference/build.xml b/src/TextureByReference/build.xml
index 47e5a36..def3da4 100644
--- a/src/TextureByReference/build.xml
+++ b/src/TextureByReference/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TextureTest/MultiTextureTest.java b/src/TextureTest/MultiTextureTest.java
index dadb96c..5b2e436 100644
--- a/src/TextureTest/MultiTextureTest.java
+++ b/src/TextureTest/MultiTextureTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TextureTest/TextureImage.java b/src/TextureTest/TextureImage.java
index 9d74efd..9b94d10 100644
--- a/src/TextureTest/TextureImage.java
+++ b/src/TextureTest/TextureImage.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TextureTest/build.xml b/src/TextureTest/build.xml
index 47e5a36..def3da4 100644
--- a/src/TextureTest/build.xml
+++ b/src/TextureTest/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TickTockCollision/Box.java b/src/TickTockCollision/Box.java
index 561702a..98bd134 100644
--- a/src/TickTockCollision/Box.java
+++ b/src/TickTockCollision/Box.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TickTockCollision/CollisionDetector.java b/src/TickTockCollision/CollisionDetector.java
index 515b4c4..bf5c17f 100644
--- a/src/TickTockCollision/CollisionDetector.java
+++ b/src/TickTockCollision/CollisionDetector.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TickTockCollision/TickTockCollision.java b/src/TickTockCollision/TickTockCollision.java
index f6b36f6..1303fb1 100644
--- a/src/TickTockCollision/TickTockCollision.java
+++ b/src/TickTockCollision/TickTockCollision.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TickTockCollision/build.xml b/src/TickTockCollision/build.xml
index 47e5a36..def3da4 100644
--- a/src/TickTockCollision/build.xml
+++ b/src/TickTockCollision/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TickTockPicking/Cube.java b/src/TickTockPicking/Cube.java
index 9c791b4..b7fb16c 100644
--- a/src/TickTockPicking/Cube.java
+++ b/src/TickTockPicking/Cube.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TickTockPicking/PickHighlightBehavior.java b/src/TickTockPicking/PickHighlightBehavior.java
index dc9294b..2213baf 100644
--- a/src/TickTockPicking/PickHighlightBehavior.java
+++ b/src/TickTockPicking/PickHighlightBehavior.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TickTockPicking/Tetrahedron.java b/src/TickTockPicking/Tetrahedron.java
index cbb2e26..ec4eb93 100644
--- a/src/TickTockPicking/Tetrahedron.java
+++ b/src/TickTockPicking/Tetrahedron.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TickTockPicking/TickTockPicking.java b/src/TickTockPicking/TickTockPicking.java
index 5020432..ca4603b 100644
--- a/src/TickTockPicking/TickTockPicking.java
+++ b/src/TickTockPicking/TickTockPicking.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/TickTockPicking/build.xml b/src/TickTockPicking/build.xml
index 47e5a36..def3da4 100644
--- a/src/TickTockPicking/build.xml
+++ b/src/TickTockPicking/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Timer/TimerTest.java b/src/Timer/TimerTest.java
index ef5d479..60545e2 100644
--- a/src/Timer/TimerTest.java
+++ b/src/Timer/TimerTest.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/Timer/build.xml b/src/Timer/build.xml
index 47e5a36..def3da4 100644
--- a/src/Timer/build.xml
+++ b/src/Timer/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/VirtualInputDevice/ButtonPositionControls.java b/src/VirtualInputDevice/ButtonPositionControls.java
index b741baa..4335a87 100644
--- a/src/VirtualInputDevice/ButtonPositionControls.java
+++ b/src/VirtualInputDevice/ButtonPositionControls.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/VirtualInputDevice/HelloUniverse.java b/src/VirtualInputDevice/HelloUniverse.java
index 474c7e6..42f28a2 100644
--- a/src/VirtualInputDevice/HelloUniverse.java
+++ b/src/VirtualInputDevice/HelloUniverse.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/VirtualInputDevice/PositionControls.java b/src/VirtualInputDevice/PositionControls.java
index e9b092c..4998c9e 100644
--- a/src/VirtualInputDevice/PositionControls.java
+++ b/src/VirtualInputDevice/PositionControls.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/VirtualInputDevice/RotationControls.java b/src/VirtualInputDevice/RotationControls.java
index 8349e5e..5535f12 100644
--- a/src/VirtualInputDevice/RotationControls.java
+++ b/src/VirtualInputDevice/RotationControls.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/VirtualInputDevice/SensorBehavior.java b/src/VirtualInputDevice/SensorBehavior.java
index 331e687..3c8d4ee 100644
--- a/src/VirtualInputDevice/SensorBehavior.java
+++ b/src/VirtualInputDevice/SensorBehavior.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/VirtualInputDevice/VirtualInputDevice.java b/src/VirtualInputDevice/VirtualInputDevice.java
index dcb7fb2..d148fd0 100644
--- a/src/VirtualInputDevice/VirtualInputDevice.java
+++ b/src/VirtualInputDevice/VirtualInputDevice.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/VirtualInputDevice/WheelControls.java b/src/VirtualInputDevice/WheelControls.java
index a6d2eb9..f4ac4d8 100644
--- a/src/VirtualInputDevice/WheelControls.java
+++ b/src/VirtualInputDevice/WheelControls.java
@@ -1,7 +1,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/VirtualInputDevice/build.xml b/src/VirtualInputDevice/build.xml
index 47e5a36..def3da4 100644
--- a/src/VirtualInputDevice/build.xml
+++ b/src/VirtualInputDevice/build.xml
@@ -4,7 +4,7 @@
/*
* $RCSfile$
*
- * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions