├── COPYRIGHT.txt ├── .gitignore ├── doc-files ├── DAG.gif ├── intro.gif ├── Concepts1.gif ├── Concepts2.gif ├── Behaviors1.gif ├── Behaviors2.gif ├── Behaviors3.gif ├── Behaviors4.gif ├── Behaviors5.gif ├── Behaviors6.gif ├── Behaviors7.gif ├── Behaviors8.gif ├── Immediate1.gif ├── ViewBranch.gif ├── ViewModel1.gif ├── ViewModel10.gif ├── ViewModel11.gif ├── ViewModel12.gif ├── ViewModel13.gif ├── ViewModel14.gif ├── ViewModel2.gif ├── ViewModel3.gif ├── ViewModel4.gif ├── ViewModel5.gif ├── ViewModel6.gif ├── ViewModel7.gif ├── ViewModel8.gif ├── ViewModel9.gif ├── VirtualUniverse.gif ├── SceneGraphSharing1.gif ├── SceneGraphSharing2.gif ├── SceneGraphSharing3.gif ├── SceneGraphSharing4.gif ├── SceneGraphSharing5.gif └── HelloUniverse.html ├── docs ├── tutorial │ ├── j3d_tutorial_ch0.pdf │ ├── j3d_tutorial_ch1.pdf │ ├── j3d_tutorial_ch2.pdf │ ├── j3d_tutorial_ch3.pdf │ ├── j3d_tutorial_ch4.pdf │ ├── j3d_tutorial_ch5.pdf │ ├── j3d_tutorial_ch6.pdf │ └── j3d_tutorial_ch7.pdf └── api-changes-1_6.txt ├── src └── main │ ├── javadoc │ └── org │ │ └── jogamp │ │ └── java3d │ │ ├── doc-files │ │ ├── DAG.gif │ │ ├── intro.gif │ │ ├── Concepts1.gif │ │ ├── Concepts2.gif │ │ ├── Behaviors1.gif │ │ ├── Behaviors2.gif │ │ ├── Behaviors3.gif │ │ ├── Behaviors4.gif │ │ ├── Behaviors5.gif │ │ ├── Behaviors6.gif │ │ ├── Behaviors7.gif │ │ ├── Behaviors8.gif │ │ ├── Immediate1.gif │ │ ├── ViewBranch.gif │ │ ├── ViewModel1.gif │ │ ├── ViewModel10.gif │ │ ├── ViewModel11.gif │ │ ├── ViewModel12.gif │ │ ├── ViewModel13.gif │ │ ├── ViewModel14.gif │ │ ├── ViewModel2.gif │ │ ├── ViewModel3.gif │ │ ├── ViewModel4.gif │ │ ├── ViewModel5.gif │ │ ├── ViewModel6.gif │ │ ├── ViewModel7.gif │ │ ├── ViewModel8.gif │ │ ├── ViewModel9.gif │ │ ├── VirtualUniverse.gif │ │ ├── SceneGraphSharing1.gif │ │ ├── SceneGraphSharing2.gif │ │ ├── SceneGraphSharing3.gif │ │ ├── SceneGraphSharing4.gif │ │ ├── SceneGraphSharing5.gif │ │ └── HelloUniverse.html │ │ └── package.html │ └── java │ └── org │ └── jogamp │ └── java3d │ ├── AutoOffScreenCanvas3D.java │ ├── DecalGroupRetained.java │ ├── NnuId.java │ ├── J3dHash.java │ ├── NodeData.java │ ├── JoglShaderObject.java │ ├── OrderedPathElement.java │ ├── ObjectUpdate.java │ ├── ShaderId.java │ ├── Context.java │ ├── Drawable.java │ ├── BHLeafInterface.java │ ├── ShaderProgramId.java │ ├── ShaderAttrLoc.java │ ├── NodeComponentUpdate.java │ ├── TransparencySortGeom.java │ ├── RenderMethod.java │ ├── TransformGroupData.java │ ├── J3dI18N.java │ ├── RenderingErrorListener.java │ ├── SoundException.java │ ├── BackgroundSoundRetained.java │ ├── ImageComponentUpdateInfo.java │ ├── AssertionFailureException.java │ ├── TransparencySortMap.java │ ├── MultipleParentException.java │ ├── CapabilityNotSetException.java │ ├── AmbientLightRetained.java │ ├── Leaf.java │ ├── RestrictedAccessException.java │ ├── IllegalRenderingStateException.java │ ├── ShaderConstants.java │ ├── ShaderErrorListener.java │ ├── IllegalSceneGraphException.java │ ├── DrawingSurfaceObject.java │ ├── IntegerFreeList.java │ ├── OrderedPath.java │ ├── J3dNotification.java │ ├── LeafRetained.java │ ├── SceneGraphCycleException.java │ ├── JoglDrawable.java │ ├── ShaderAttributeRetained.java │ ├── DepthComponentRetained.java │ ├── RendererStructure.java │ ├── TargetsInterface.java │ ├── RenderAtomListInfo.java │ ├── GraphicsConfigInfo.java │ ├── OrderedCollection.java │ ├── DanglingReferenceException.java │ ├── GeometryUpdater.java │ ├── IndexedObject.java │ ├── OrderedChildInfo.java │ ├── GeometryService.java │ ├── Geometry.java │ ├── GeometryLock.java │ ├── NoopDrawingSurfaceObject.java │ ├── BadTransformException.java │ ├── MRSWLock.java │ ├── DefaultRenderMethod.java │ ├── IllegalSharingException.java │ ├── FreeListManager.java │ ├── MasterControlThread.java │ ├── JoglDrawingSurfaceObject.java │ ├── GraphStructureChangeListener.java │ ├── ShaderAttributeBindingRetained.java │ ├── BHLeafNode.java │ ├── DepthComponentNativeRetained.java │ ├── AudioDeviceEnumerator.java │ ├── PickShape.java │ ├── WakeupOnActivation.java │ ├── DepthComponentIntRetained.java │ ├── DepthComponentFloatRetained.java │ ├── VertexArrayRenderMethod.java │ ├── LightSet.java │ ├── GeneralizedStripFlags.java │ ├── J3dThreadData.java │ ├── ShaderAttribute.java │ ├── DepthComponent.java │ ├── WakeupOnTransformChange.java │ └── WakeupOnDeactivation.java ├── LICENSE-SPEC.html └── README.md /COPYRIGHT.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/COPYRIGHT.txt -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.classpath 2 | /.project 3 | /.settings/ 4 | /target/ 5 | /doc/ 6 | /doc-all/ 7 | -------------------------------------------------------------------------------- /doc-files/DAG.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/DAG.gif -------------------------------------------------------------------------------- /doc-files/intro.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/intro.gif -------------------------------------------------------------------------------- /doc-files/Concepts1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/Concepts1.gif -------------------------------------------------------------------------------- /doc-files/Concepts2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/Concepts2.gif -------------------------------------------------------------------------------- /doc-files/Behaviors1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/Behaviors1.gif -------------------------------------------------------------------------------- /doc-files/Behaviors2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/Behaviors2.gif -------------------------------------------------------------------------------- /doc-files/Behaviors3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/Behaviors3.gif -------------------------------------------------------------------------------- /doc-files/Behaviors4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/Behaviors4.gif -------------------------------------------------------------------------------- /doc-files/Behaviors5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/Behaviors5.gif -------------------------------------------------------------------------------- /doc-files/Behaviors6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/Behaviors6.gif -------------------------------------------------------------------------------- /doc-files/Behaviors7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/Behaviors7.gif -------------------------------------------------------------------------------- /doc-files/Behaviors8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/Behaviors8.gif -------------------------------------------------------------------------------- /doc-files/Immediate1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/Immediate1.gif -------------------------------------------------------------------------------- /doc-files/ViewBranch.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewBranch.gif -------------------------------------------------------------------------------- /doc-files/ViewModel1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewModel1.gif -------------------------------------------------------------------------------- /doc-files/ViewModel10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewModel10.gif -------------------------------------------------------------------------------- /doc-files/ViewModel11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewModel11.gif -------------------------------------------------------------------------------- /doc-files/ViewModel12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewModel12.gif -------------------------------------------------------------------------------- /doc-files/ViewModel13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewModel13.gif -------------------------------------------------------------------------------- /doc-files/ViewModel14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewModel14.gif -------------------------------------------------------------------------------- /doc-files/ViewModel2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewModel2.gif -------------------------------------------------------------------------------- /doc-files/ViewModel3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewModel3.gif -------------------------------------------------------------------------------- /doc-files/ViewModel4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewModel4.gif -------------------------------------------------------------------------------- /doc-files/ViewModel5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewModel5.gif -------------------------------------------------------------------------------- /doc-files/ViewModel6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewModel6.gif -------------------------------------------------------------------------------- /doc-files/ViewModel7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewModel7.gif -------------------------------------------------------------------------------- /doc-files/ViewModel8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewModel8.gif -------------------------------------------------------------------------------- /doc-files/ViewModel9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/ViewModel9.gif -------------------------------------------------------------------------------- /doc-files/VirtualUniverse.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/VirtualUniverse.gif -------------------------------------------------------------------------------- /doc-files/SceneGraphSharing1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/SceneGraphSharing1.gif -------------------------------------------------------------------------------- /doc-files/SceneGraphSharing2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/SceneGraphSharing2.gif -------------------------------------------------------------------------------- /doc-files/SceneGraphSharing3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/SceneGraphSharing3.gif -------------------------------------------------------------------------------- /doc-files/SceneGraphSharing4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/SceneGraphSharing4.gif -------------------------------------------------------------------------------- /doc-files/SceneGraphSharing5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/doc-files/SceneGraphSharing5.gif -------------------------------------------------------------------------------- /docs/tutorial/j3d_tutorial_ch0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/docs/tutorial/j3d_tutorial_ch0.pdf -------------------------------------------------------------------------------- /docs/tutorial/j3d_tutorial_ch1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/docs/tutorial/j3d_tutorial_ch1.pdf -------------------------------------------------------------------------------- /docs/tutorial/j3d_tutorial_ch2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/docs/tutorial/j3d_tutorial_ch2.pdf -------------------------------------------------------------------------------- /docs/tutorial/j3d_tutorial_ch3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/docs/tutorial/j3d_tutorial_ch3.pdf -------------------------------------------------------------------------------- /docs/tutorial/j3d_tutorial_ch4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/docs/tutorial/j3d_tutorial_ch4.pdf -------------------------------------------------------------------------------- /docs/tutorial/j3d_tutorial_ch5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/docs/tutorial/j3d_tutorial_ch5.pdf -------------------------------------------------------------------------------- /docs/tutorial/j3d_tutorial_ch6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/docs/tutorial/j3d_tutorial_ch6.pdf -------------------------------------------------------------------------------- /docs/tutorial/j3d_tutorial_ch7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/docs/tutorial/j3d_tutorial_ch7.pdf -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/DAG.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/DAG.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/intro.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/intro.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/Concepts1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/Concepts1.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/Concepts2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/Concepts2.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors1.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors2.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors3.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors4.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors5.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors6.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors7.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/Behaviors8.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/Immediate1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/Immediate1.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewBranch.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewBranch.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel1.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel10.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel11.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel12.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel13.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel14.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel2.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel3.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel4.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel5.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel6.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel7.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel8.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/ViewModel9.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/VirtualUniverse.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/VirtualUniverse.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/SceneGraphSharing1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/SceneGraphSharing1.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/SceneGraphSharing2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/SceneGraphSharing2.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/SceneGraphSharing3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/SceneGraphSharing3.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/SceneGraphSharing4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/SceneGraphSharing4.gif -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/SceneGraphSharing5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philjord/java3d-core/HEAD/src/main/javadoc/org/jogamp/java3d/doc-files/SceneGraphSharing5.gif -------------------------------------------------------------------------------- /src/main/java/org/jogamp/java3d/AutoOffScreenCanvas3D.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Harvey Harrison 3 | * 4 | * This code is free software; you can redistribute it and/or modify it 5 | * under the terms of the GNU General Public License version 2 only, as 6 | * published by the Free Software Foundation. Sun designates this 7 | * particular file as subject to the "Classpath" exception as provided 8 | * by Sun in the LICENSE file that accompanied this code. 9 | * 10 | * This code is distributed in the hope that it will be useful, but WITHOUT 11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13 | * version 2 for more details (a copy is included in the LICENSE file that 14 | * accompanied this code). 15 | */ 16 | package org.jogamp.java3d; 17 | 18 | /** 19 | * An interface used to tag Canavs3d subclasses as being offsceen. 20 | */ 21 | public interface AutoOffScreenCanvas3D {} 22 | -------------------------------------------------------------------------------- /LICENSE-SPEC.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 6 |Copyright 1996-2008 Sun Microsystems, Inc. All rights reserved. 10 | Use is subject to license terms. 11 |
12 |This javadoc-generated API documentation is not an 13 | official API specification. This documentation may contain references to 14 | Java and Java 3D, both of which are trademarks of Sun Microsystems, Inc. 15 | Any reference to these and other trademarks of Sun Microsystems are 16 | for explanatory purposes only. Their use does impart any rights beyond 17 | those listed in the source code license. In particular, Sun Microsystems 18 | retains all intellectual property and trademark rights as described in 19 | the proprietary rights notice in the COPYRIGHT.txt file. 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /docs/api-changes-1_6.txt: -------------------------------------------------------------------------------- 1 | ------------------------------------------------------------------------ 2 | $RCSfile$ 3 | $Revision$ 4 | $Date$ 5 | ------------------------------------------------------------------------ 6 | This document conatains proposed API changes to the Java 3D 1.6 API 7 | that deviate from the 1.5 API. 8 | 9 | This file must be updated to record the addition or deprecation of any 10 | public or protected class, interface, field, constructor, or method to 11 | the Java 3D API. 12 | 13 | The one exception to this rule is that you don't need to update this 14 | file when adding a non-final (i.e., virtual) method to a class if that 15 | method--with exactly the same signature--already exists in a 16 | superclass. For example, adding a "toString" method to a j3d object 17 | doesn't require an entry in this file. Likewise, adding duplicateNode 18 | or cloneNode methods to Node subclasses doesn't require an entry in 19 | this file. 20 | 21 | No incompatible changes to the Java 3D 1.5 API are allowed. 22 | 23 | 24 | I. New/deprecated fields, constructors, methods 25 | 26 |Provides the core set of classes for the 11 | 3D graphics API for the Java platform; click here for more information, 13 | including explanatory material that was formerly found in the guide. 14 |
15 | 16 |The 3D API is an application 17 | programming interface used for writing three-dimensional graphics 18 | applications and applets. It gives developers high-level constructs for 19 | creating and manipulating 3D geometry and for constructing the 20 | structures used in rendering that geometry. Application developers can 21 | describe very large virtual worlds using these constructs, which 22 | provide the runtime system with enough information to render these worlds 23 | efficiently. 24 |
25 | 26 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/main/java/org/jogamp/java3d/DecalGroupRetained.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. Sun designates this 8 | * particular file as subject to the "Classpath" exception as provided 9 | * by Sun in the LICENSE file that accompanied this code. 10 | * 11 | * This code is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * version 2 for more details (a copy is included in the LICENSE file that 15 | * accompanied this code). 16 | * 17 | * You should have received a copy of the GNU General Public License version 18 | * 2 along with this work; if not, write to the Free Software Foundation, 19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 | * 21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 22 | * CA 95054 USA or visit www.sun.com if you need additional information or 23 | * have any questions. 24 | * 25 | */ 26 | 27 | package org.jogamp.java3d; 28 | 29 | class DecalGroupRetained extends OrderedGroupRetained { 30 | 31 | DecalGroupRetained() { 32 | this.nodeType = NodeRetained.DECALGROUP; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/jogamp/java3d/NnuId.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2001-2008 Sun Microsystems, Inc. All Rights Reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. Sun designates this 8 | * particular file as subject to the "Classpath" exception as provided 9 | * by Sun in the LICENSE file that accompanied this code. 10 | * 11 | * This code is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * version 2 for more details (a copy is included in the LICENSE file that 15 | * accompanied this code). 16 | * 17 | * You should have received a copy of the GNU General Public License version 18 | * 2 along with this work; if not, write to the Free Software Foundation, 19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 | * 21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 22 | * CA 95054 USA or visit www.sun.com if you need additional information or 23 | * have any questions. 24 | * 25 | */ 26 | 27 | package org.jogamp.java3d; 28 | 29 | /** 30 | * Defines a "not necessarily unique ID" 31 | */ 32 | 33 | interface NnuId { 34 | 35 | abstract int equal(NnuId obj); 36 | 37 | abstract int getId(); 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/org/jogamp/java3d/J3dHash.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 Harvey Harrison37 | * NOTE: Applications should not extend this class directly. 38 | */ 39 | 40 | public abstract class Leaf extends Node { 41 | 42 | /** 43 | * Construct and initialize the Leaf object. 44 | */ 45 | public Leaf(){ 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/org/jogamp/java3d/RestrictedAccessException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. Sun designates this 8 | * particular file as subject to the "Classpath" exception as provided 9 | * by Sun in the LICENSE file that accompanied this code. 10 | * 11 | * This code is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * version 2 for more details (a copy is included in the LICENSE file that 15 | * accompanied this code). 16 | * 17 | * You should have received a copy of the GNU General Public License version 18 | * 2 along with this work; if not, write to the Free Software Foundation, 19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 | * 21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 22 | * CA 95054 USA or visit www.sun.com if you need additional information or 23 | * have any questions. 24 | * 25 | */ 26 | 27 | package org.jogamp.java3d; 28 | 29 | /** 30 | * Indicates an attempt to access or modify a state variable 31 | * without permission to do so. For example, invoking a set 32 | * method for a state variable that is currently read-only. 33 | */ 34 | public class RestrictedAccessException extends RuntimeException { 35 | 36 | /** 37 | * Create the exception object with default values. 38 | */ 39 | public RestrictedAccessException(){ 40 | } 41 | 42 | /** 43 | * Create the exception object that outputs a message. 44 | * @param str the message string to be output. 45 | */ 46 | public RestrictedAccessException(String str) { 47 | 48 | super(str); 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/org/jogamp/java3d/IllegalRenderingStateException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. Sun designates this 8 | * particular file as subject to the "Classpath" exception as provided 9 | * by Sun in the LICENSE file that accompanied this code. 10 | * 11 | * This code is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * version 2 for more details (a copy is included in the LICENSE file that 15 | * accompanied this code). 16 | * 17 | * You should have received a copy of the GNU General Public License version 18 | * 2 along with this work; if not, write to the Free Software Foundation, 19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 | * 21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 22 | * CA 95054 USA or visit www.sun.com if you need additional information or 23 | * have any questions. 24 | * 25 | */ 26 | 27 | package org.jogamp.java3d; 28 | 29 | /** 30 | * Indicates an illegal state for rendering. This is typically some sort of 31 | * resource or graphics device error encountered during rendering. 32 | */ 33 | public class IllegalRenderingStateException extends IllegalStateException { 34 | 35 | /** 36 | * Create the exception object with default values. 37 | */ 38 | public IllegalRenderingStateException(){ 39 | } 40 | 41 | /** 42 | * Create the exception object that outputs message. 43 | * @param str the message string to be output. 44 | */ 45 | public IllegalRenderingStateException(String str){ 46 | super(str); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/org/jogamp/java3d/ShaderConstants.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. Sun designates this 8 | * particular file as subject to the "Classpath" exception as provided 9 | * by Sun in the LICENSE file that accompanied this code. 10 | * 11 | * This code is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * version 2 for more details (a copy is included in the LICENSE file that 15 | * accompanied this code). 16 | * 17 | * You should have received a copy of the GNU General Public License version 18 | * 2 along with this work; if not, write to the Free Software Foundation, 19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 | * 21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 22 | * CA 95054 USA or visit www.sun.com if you need additional information or 23 | * have any questions. 24 | * 25 | */ 26 | 27 | package org.jogamp.java3d; 28 | 29 | /** 30 | * The ShaderConstants class contains internal constants used by other 31 | * Shader classes. 32 | */ 33 | class ShaderConstants extends Object { 34 | 35 | // 36 | // The following bits are used in the messages for various Shader objects. 37 | // 38 | 39 | // ShaderAttributeSet bits -- indicates which attribute 40 | // operation in this ShaderAttributeSet object is needed. 41 | static final int ATTRIBUTE_SET_PUT = 0x0001; 42 | static final int ATTRIBUTE_SET_REMOVE = 0x0002; 43 | static final int ATTRIBUTE_SET_CLEAR = 0x0004; 44 | 45 | // ShaderAttribute bits 46 | static final int ATTRIBUTE_VALUE_UPDATE = 0x0008; 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/org/jogamp/java3d/ShaderErrorListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. Sun designates this 8 | * particular file as subject to the "Classpath" exception as provided 9 | * by Sun in the LICENSE file that accompanied this code. 10 | * 11 | * This code is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * version 2 for more details (a copy is included in the LICENSE file that 15 | * accompanied this code). 16 | * 17 | * You should have received a copy of the GNU General Public License version 18 | * 2 along with this work; if not, write to the Free Software Foundation, 19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 | * 21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 22 | * CA 95054 USA or visit www.sun.com if you need additional information or 23 | * have any questions. 24 | * 25 | */ 26 | 27 | package org.jogamp.java3d; 28 | 29 | /** 30 | * Listener interface for monitoring errors in Shader Programs. 31 | * Compile and link errors are reported by the shader compiler, as are 32 | * runtime errors, such as those resulting from shader attributes that 33 | * aren't found or are of the wrong type. 34 | * 35 | * @see VirtualUniverse#addShaderErrorListener 36 | * 37 | * @since Java 3D 1.4 38 | */ 39 | public interface ShaderErrorListener { 40 | /** 41 | * Invoked when an error occurs while compiling, linking or 42 | * executing a programmable shader. 43 | * 44 | * @param error object that contains the details of the error. 45 | */ 46 | public void errorOccurred(ShaderError error); 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/org/jogamp/java3d/IllegalSceneGraphException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2001-2008 Sun Microsystems, Inc. All Rights Reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. Sun designates this 8 | * particular file as subject to the "Classpath" exception as provided 9 | * by Sun in the LICENSE file that accompanied this code. 10 | * 11 | * This code is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * version 2 for more details (a copy is included in the LICENSE file that 15 | * accompanied this code). 16 | * 17 | * You should have received a copy of the GNU General Public License version 18 | * 2 along with this work; if not, write to the Free Software Foundation, 19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 | * 21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 22 | * CA 95054 USA or visit www.sun.com if you need additional information or 23 | * have any questions. 24 | * 25 | */ 26 | 27 | package org.jogamp.java3d; 28 | 29 | /** 30 | * Indicates an illegal Java 3D scene graph. 31 | * For example, the following is illegal: 32 | *
cloneTree call an updated reference was requested
31 | * for a node that did not get cloned. This happens when a sub-graph is
32 | * duplicated via cloneTree and has at least one Leaf node
33 | * that contains a reference to a Node that has no corresponding node in
34 | * the cloned sub-graph. This results in two Leaf nodes wanting to share
35 | * access to the same Node.
36 | *
37 | * If dangling references are to be allowed during the cloneTree call,
38 | * cloneTree should be called with the
39 | * allowDanglingReferences parameter set to true.
40 | * @see Node#cloneTree
41 | */
42 | public class DanglingReferenceException extends RuntimeException {
43 |
44 | /**
45 | * Create the exception object with default values.
46 | */
47 | public DanglingReferenceException() {
48 | }
49 |
50 | /**
51 | * Create the exception object that outputs message.
52 | * @param str the message string to be output.
53 | */
54 | public DanglingReferenceException(String str) {
55 | super(str);
56 | }
57 |
58 | }
59 |
--------------------------------------------------------------------------------
/src/main/java/org/jogamp/java3d/GeometryUpdater.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved.
3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 | *
5 | * This code is free software; you can redistribute it and/or modify it
6 | * under the terms of the GNU General Public License version 2 only, as
7 | * published by the Free Software Foundation. Sun designates this
8 | * particular file as subject to the "Classpath" exception as provided
9 | * by Sun in the LICENSE file that accompanied this code.
10 | *
11 | * This code is distributed in the hope that it will be useful, but WITHOUT
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 | * version 2 for more details (a copy is included in the LICENSE file that
15 | * accompanied this code).
16 | *
17 | * You should have received a copy of the GNU General Public License version
18 | * 2 along with this work; if not, write to the Free Software Foundation,
19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 | *
21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 | * CA 95054 USA or visit www.sun.com if you need additional information or
23 | * have any questions.
24 | *
25 | */
26 |
27 | package org.jogamp.java3d;
28 |
29 |
30 | /**
31 | * The GeometryUpdater interface is used in updating geometry data
32 | * that is accessed by reference from a live or compiled GeometryArray
33 | * object. Applications that wish to modify such data must define a
34 | * class that implements this interface. An instance of that class is
35 | * then passed to the updateData method of the
36 | * GeometryArray object to be modified.
37 | *
38 | * @since Java 3D 1.2
39 | */
40 |
41 | public interface GeometryUpdater {
42 | /**
43 | * Updates geometry data that is accessed by reference.
44 | * This method is called by the updateData method of a
45 | * GeometryArray object to effect
46 | * safe updates to vertex data that
47 | * is referenced by that object. Applications that wish to modify
48 | * such data must implement this method and perform all updates
49 | * within it.
50 | *
51 | * NOTE: Applications should not call this method directly.
52 | *
53 | * @param geometry the Geometry object being updated.
54 | * @see GeometryArray#updateData
55 | */
56 | public void updateData(Geometry geometry);
57 | }
58 |
--------------------------------------------------------------------------------
/src/main/java/org/jogamp/java3d/IndexedObject.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2001-2008 Sun Microsystems, Inc. All Rights Reserved.
3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 | *
5 | * This code is free software; you can redistribute it and/or modify it
6 | * under the terms of the GNU General Public License version 2 only, as
7 | * published by the Free Software Foundation. Sun designates this
8 | * particular file as subject to the "Classpath" exception as provided
9 | * by Sun in the LICENSE file that accompanied this code.
10 | *
11 | * This code is distributed in the hope that it will be useful, but WITHOUT
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 | * version 2 for more details (a copy is included in the LICENSE file that
15 | * accompanied this code).
16 | *
17 | * You should have received a copy of the GNU General Public License version
18 | * 2 along with this work; if not, write to the Free Software Foundation,
19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 | *
21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 | * CA 95054 USA or visit www.sun.com if you need additional information or
23 | * have any questions.
24 | *
25 | */
26 |
27 | package org.jogamp.java3d;
28 |
29 | /**
30 | * Class used for IndexedUnorderedList
31 | */
32 |
33 | abstract class IndexedObject extends Object {
34 |
35 | /**
36 | * A 2D array listIdx[3][len] is used.
37 | * The entry listIdx[0][], listIdx[0][1] is used for each VirtualUniverse.
38 | * The entry listIdx[2][0] is used for index to which one to use.
39 | *
40 | * This is used to handle the case the Node Object move from
41 | * one VirtualUniverse A to another VirtualUniverse B.
42 | * It is possible that another Structures in B may get the add
43 | * message first before the Structures in A get the remove
44 | * message to clear the entry. This cause MT problem. So a
45 | * 2D array is used to resolve it.
46 | */
47 | int[][] listIdx;
48 |
49 | abstract VirtualUniverse getVirtualUniverse();
50 |
51 | synchronized int getIdxUsed(VirtualUniverse u) {
52 | int idx = listIdx[2][0];
53 | if (u == getVirtualUniverse()) {
54 | return idx;
55 | }
56 | return (idx == 0 ? 1 : 0);
57 | }
58 |
59 | void incIdxUsed() {
60 | if (listIdx[2][0] == 0) {
61 | listIdx[2][0] = 1;
62 | } else {
63 | listIdx[2][0] = 0;
64 | }
65 | }
66 | }
67 |
68 |
69 |
--------------------------------------------------------------------------------
/src/main/java/org/jogamp/java3d/OrderedChildInfo.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 | *
5 | * This code is free software; you can redistribute it and/or modify it
6 | * under the terms of the GNU General Public License version 2 only, as
7 | * published by the Free Software Foundation. Sun designates this
8 | * particular file as subject to the "Classpath" exception as provided
9 | * by Sun in the LICENSE file that accompanied this code.
10 | *
11 | * This code is distributed in the hope that it will be useful, but WITHOUT
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 | * version 2 for more details (a copy is included in the LICENSE file that
15 | * accompanied this code).
16 | *
17 | * You should have received a copy of the GNU General Public License version
18 | * 2 along with this work; if not, write to the Free Software Foundation,
19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 | *
21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 | * CA 95054 USA or visit www.sun.com if you need additional information or
23 | * have any questions.
24 | *
25 | */
26 |
27 | package org.jogamp.java3d;
28 |
29 | /**
30 | * List of orderedGroup children that needs to be added/removed for
31 | * the next frame. Note that the order in which they are removed and
32 | * added should be maintained after the renderer is done to get the
33 | * correct order of rendering.
34 | */
35 | class OrderedChildInfo extends Object {
36 |
37 | static int ADD = 0x1;
38 | static int REMOVE = 0x2;
39 |
40 |
41 | /**
42 | * Type of operation, could be add/remove or set
43 | */
44 | int type;
45 |
46 | /**
47 | * Ordered index at which this operation takes place
48 | */
49 | int orderedId;
50 |
51 | /**
52 | * Child index at which this operation takes place
53 | */
54 | int childId;
55 |
56 | /**
57 | * Value of the orderedCollection, only relavent for
58 | * add and set
59 | */
60 | OrderedCollection value;
61 |
62 |
63 | // Maintains the order in which the ordered children
64 | // were added and removed
65 | OrderedChildInfo next;
66 | OrderedChildInfo prev;
67 |
68 | OrderedChildInfo(int t, int cid, int oid, OrderedCollection val) {
69 | type = t;
70 | orderedId = oid;
71 | childId = cid;
72 | value = val;
73 | prev = null;
74 | next = null;
75 |
76 | }
77 |
78 | }
79 |
--------------------------------------------------------------------------------
/src/main/java/org/jogamp/java3d/GeometryService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020 JogAmp Community. All rights reserved.
3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 | *
5 | * This code is free software; you can redistribute it and/or modify it
6 | * under the terms of the GNU General Public License version 2 only, as
7 | * published by the Free Software Foundation. The JogAmp Community designates
8 | * this particular file as subject to the "Classpath" exception as provided
9 | * by Sun in the LICENSE file that accompanied this code.
10 | *
11 | * This code is distributed in the hope that it will be useful, but WITHOUT
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 | * version 2 for more details (a copy is included in the LICENSE file that
15 | * accompanied this code).
16 | *
17 | * The views and conclusions contained in the software and documentation are those
18 | * of the authors and should not be interpreted as representing official policies,
19 | * either expressed or implied, of the JogAmp Community.
20 | *
21 | */
22 |
23 | package org.jogamp.java3d;
24 |
25 | import java.util.ArrayList;
26 |
27 | import org.jogamp.vecmath.Point3f;
28 |
29 | /**
30 | * A service interface for certain geometric operations that are not available
31 | * in core Java 3D.
32 | *
33 | * In particular, the {@code j3d-core-utils} project provides additional 34 | * functionality under a different license, which is needed in some 35 | * circumstances by core Java 3D. Thus, historically, these two projects have 36 | * been co-dependent. This interface breaks the circular dependency by using 37 | * Java's service discovery mechanism: if {@code j3d-core-utils} is present on 38 | * the classpath, its {@code GeometryServiceImpl} will provide the functionality 39 | * defined here. Or if not (i.e., no suitable {@code GeometryService} 40 | * implementation can be discovered and instantiated}), then the Java3D core 41 | * will fail as gracefully as possible. 42 | *
43 | * 44 | * @see Font3D#triangulateGlyphs 45 | */ 46 | public interface GeometryService { 47 | 48 | /** 49 | * Loops through each island, calling triangulator once per island. Combines 50 | * triangle data for all islands together in one object. 51 | * 52 | * @param islandCounts TODO 53 | * @param outVerts TODO 54 | * @param contourCounts TODO 55 | * @param triangData TODO 56 | * @return total vertex count of the combined array 57 | */ 58 | int triangulateIslands(int[][] islandCounts, Point3f[][] outVerts, 59 | int[] contourCounts, ArrayList35 | *
40 | * Each of these geometric types defines a visible object or set of 41 | * objects. A Geometry object is used as a component object of a Shape3D 42 | * leaf node. 43 | * 44 | */ 45 | 46 | public abstract class Geometry extends NodeComponent { 47 | 48 | /** 49 | * Specifies that this Geometry allows intersect operation. This 50 | * capability bit is set (true) by default for all Geometry objects. 51 | */ 52 | public static final int 53 | ALLOW_INTERSECT = CapabilityBits.GEOMETRY_ALLOW_INTERSECT; 54 | 55 | // Array for setting default read capabilities 56 | private static final int[] readCapabilities = { 57 | ALLOW_INTERSECT 58 | }; 59 | 60 | /** 61 | * Constructs a new Geometry object. 62 | */ 63 | public Geometry() { 64 | // set default read capabilities 65 | setDefaultReadCapabilities(readCapabilities); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/main/java/org/jogamp/java3d/GeometryLock.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. Sun designates this 8 | * particular file as subject to the "Classpath" exception as provided 9 | * by Sun in the LICENSE file that accompanied this code. 10 | * 11 | * This code is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * version 2 for more details (a copy is included in the LICENSE file that 15 | * accompanied this code). 16 | * 17 | * You should have received a copy of the GNU General Public License version 18 | * 2 along with this work; if not, write to the Free Software Foundation, 19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 | * 21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 22 | * CA 95054 USA or visit www.sun.com if you need additional information or 23 | * have any questions. 24 | * 25 | */ 26 | 27 | package org.jogamp.java3d; 28 | 29 | 30 | class GeometryLock { 31 | 32 | // Current thread holding the lock 33 | Thread threadId = null; 34 | 35 | // Whether the lock is currently owned 36 | boolean lockOwned = false; 37 | 38 | // Count > 1 , if there is nested lock by the same thread 39 | int count = 0; 40 | 41 | // Number of outstanding threads waiting for the lock 42 | int waiting = 0; 43 | 44 | 45 | synchronized void getLock() { 46 | Thread curThread = Thread.currentThread(); 47 | // If the thread already has the lock, incr 48 | // a count and return 49 | if (threadId == curThread) { 50 | count++; 51 | return; 52 | } 53 | // Otherwise, wait until the lock is released 54 | while (lockOwned) { 55 | try { 56 | waiting++; 57 | wait(); 58 | } catch (InterruptedException e) { 59 | System.err.println(e); 60 | } 61 | waiting--; 62 | } 63 | count++; 64 | // Acquire the lock 65 | lockOwned = true; 66 | threadId = curThread; 67 | } 68 | 69 | synchronized void unLock() { 70 | Thread curThread = Thread.currentThread(); 71 | if (threadId == curThread) { 72 | // If the lock count > 0, then return 73 | if (--count > 0) { 74 | return; 75 | } 76 | lockOwned = false; 77 | threadId = null; 78 | if (waiting > 0) { 79 | notify(); 80 | } 81 | } 82 | 83 | } 84 | 85 | } 86 | -------------------------------------------------------------------------------- /doc-files/HelloUniverse.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 6 |Here are code fragments from a simple program, HelloUniverse.java,
12 | that creates a cube and a RotationInterpolator behavior object that
13 | rotates the cube at a constant rate of pi/2 radians per second. The
14 | HelloUniverse class creates the branch graph
15 | that includes the cube and the RotationInterpolator behavior. It then
16 | adds this branch graph to the Locale object generated by the
17 | SimpleUniverse utility.
18 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /src/main/javadoc/org/jogamp/java3d/doc-files/HelloUniverse.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 |
public class HelloUniverse ... {
public BranchGroup createSceneGraph() {
// Create the root of the branch graph
BranchGroup objRoot = new BranchGroup();
// Create the TransformGroup node and initialize it to the
// identity. Enable the TRANSFORM_WRITE capability so that
// our behavior code can modify it at run time. Add it to
// the root of the subgraph.
TransformGroup objTrans = new TransformGroup();
objTrans.setCapability(
TransformGroup.ALLOW_TRANSFORM_WRITE);
objRoot.addChild(objTrans);
// Create a simple Shape3D node; add it to the scene graph.
objTrans.addChild(new ColorCube(0.4));
// Create a new Behavior object that will perform the
// desired operation on the specified transform and add
// it into the scene graph.
Transform3D yAxis = new Transform3D();
Alpha rotationAlpha = new Alpha(-1, 4000);
RotationInterpolator rotator = new RotationInterpolator(
rotationAlpha, objTrans, yAxis,
0.0f, (float) Math.PI*2.0f);
BoundingSphere bounds =
new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
rotator.setSchedulingBounds(bounds);
objRoot.addChild(rotator);
// Have Java 3D perform optimizations on this scene graph.
objRoot.compile();
return objRoot;
}
public HelloUniverse() {
<set layout of container, construct canvas3d, add canvas3d>
// Create the scene; attach it to the virtual universe
BranchGroup scene = createSceneGraph();
SimpleUniverse u = new SimpleUniverse(canvas3d);
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(scene);
}
}
Here are code fragments from a simple program, HelloUniverse.java,
12 | that creates a cube and a RotationInterpolator behavior object that
13 | rotates the cube at a constant rate of pi/2 radians per second. The
14 | HelloUniverse class creates the branch graph
15 | that includes the cube and the RotationInterpolator behavior. It then
16 | adds this branch graph to the Locale object generated by the
17 | SimpleUniverse utility.
18 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /src/main/java/org/jogamp/java3d/NoopDrawingSurfaceObject.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2006-2008 Sun Microsystems, Inc. All Rights Reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. Sun designates this 8 | * particular file as subject to the "Classpath" exception as provided 9 | * by Sun in the LICENSE file that accompanied this code. 10 | * 11 | * This code is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * version 2 for more details (a copy is included in the LICENSE file that 15 | * accompanied this code). 16 | * 17 | * You should have received a copy of the GNU General Public License version 18 | * 2 along with this work; if not, write to the Free Software Foundation, 19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 | * 21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 22 | * CA 95054 USA or visit www.sun.com if you need additional information or 23 | * have any questions. 24 | * 25 | */ 26 | 27 | package org.jogamp.java3d; 28 | 29 | /** 30 | * The DrawingSurfaceObject class is used to manage native drawing surface 31 | */ 32 | class NoopDrawingSurfaceObject extends DrawingSurfaceObject { 33 | 34 | NoopDrawingSurfaceObject(Canvas3D cv) { 35 | super(cv); 36 | 37 | System.err.println("NoopDrawingSurfaceObject constructed"); 38 | } 39 | 40 | @Override 41 | synchronized boolean renderLock() { 42 | // System.err.println("NoopDrawingSurfaceObject.renderLock()"); 43 | gotDsiLock = true; 44 | return true; 45 | } 46 | 47 | @Override 48 | synchronized void unLock() { 49 | // System.err.println("NoopDrawingSurfaceObject.unLock()"); 50 | gotDsiLock = false; 51 | } 52 | 53 | @Override 54 | synchronized void getDrawingSurfaceObjectInfo() { 55 | if (canvas.drawable == null) { 56 | System.err.println( 57 | "NoopDrawingSurfaceObject.getDrawingSurfaceObjectInfo: window = " 58 | + canvas.drawable); 59 | 60 | canvas.drawable = new NoopDrawable(); 61 | } 62 | } 63 | 64 | @Override 65 | synchronized void invalidate() { 66 | System.err.println("NoopDrawingSurfaceObject.invalidate()"); 67 | } 68 | 69 | /** 70 | * Dummy drawable for noop pipeline 71 | */ 72 | static class NoopDrawable implements Drawable { 73 | } 74 | 75 | } 76 | -------------------------------------------------------------------------------- /src/main/java/org/jogamp/java3d/BadTransformException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 | * 5 | * This code is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License version 2 only, as 7 | * published by the Free Software Foundation. Sun designates this 8 | * particular file as subject to the "Classpath" exception as provided 9 | * by Sun in the LICENSE file that accompanied this code. 10 | * 11 | * This code is distributed in the hope that it will be useful, but WITHOUT 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 | * version 2 for more details (a copy is included in the LICENSE file that 15 | * accompanied this code). 16 | * 17 | * You should have received a copy of the GNU General Public License version 18 | * 2 along with this work; if not, write to the Free Software Foundation, 19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 | * 21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 22 | * CA 95054 USA or visit www.sun.com if you need additional information or 23 | * have any questions. 24 | * 25 | */ 26 | 27 | package org.jogamp.java3d; 28 | 29 | /** 30 | * Indicates an attempt to use a Tranform3D object that is 31 | * inappropriate for the object in which it is being used. 32 | * For example: 33 | *
public class HelloUniverse ... {
public BranchGroup createSceneGraph() {
// Create the root of the branch graph
BranchGroup objRoot = new BranchGroup();
// Create the TransformGroup node and initialize it to the
// identity. Enable the TRANSFORM_WRITE capability so that
// our behavior code can modify it at run time. Add it to
// the root of the subgraph.
TransformGroup objTrans = new TransformGroup();
objTrans.setCapability(
TransformGroup.ALLOW_TRANSFORM_WRITE);
objRoot.addChild(objTrans);
// Create a simple Shape3D node; add it to the scene graph.
objTrans.addChild(new ColorCube(0.4));
// Create a new Behavior object that will perform the
// desired operation on the specified transform and add
// it into the scene graph.
Transform3D yAxis = new Transform3D();
Alpha rotationAlpha = new Alpha(-1, 4000);
RotationInterpolator rotator = new RotationInterpolator(
rotationAlpha, objTrans, yAxis,
0.0f, (float) Math.PI*2.0f);
BoundingSphere bounds =
new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
rotator.setSchedulingBounds(bounds);
objRoot.addChild(rotator);
// Have Java 3D perform optimizations on this scene graph.
objRoot.compile();
return objRoot;
}
public HelloUniverse() {
<set layout of container, construct canvas3d, add canvas3d>
// Create the scene; attach it to the virtual universe
BranchGroup scene = createSceneGraph();
SimpleUniverse u = new SimpleUniverse(canvas3d);
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(scene);
}
}
attrName is implicitly set to the
34 | * value of the corresponding Java 3D system attribute
35 | * j3dAttrName during rendering. attrName
36 | * must be the name of a valid uniform attribute in the shader in
37 | * which it is used. Otherwise, the attribute name will be ignored and
38 | * a runtime error may be generated. j3dAttrName must be
39 | * the name of a predefined Java 3D system attribute. An
40 | * IllegalArgumentException will be thrown if the specified
41 | * j3dAttrName is not one of the predefined system
42 | * attributes. Further, the type of the j3dAttrName
43 | * attribute must match the type of the corresponding
44 | * attrName variable in the shader in which it is
45 | * used. Otherwise, the shader will not be able to use the attribute
46 | * and a runtime error may be generated.
47 | */
48 |
49 | class ShaderAttributeBindingRetained extends ShaderAttributeRetained {
50 | String j3dAttrName;
51 |
52 | ShaderAttributeBindingRetained() {
53 | }
54 |
55 | void initJ3dAttrName(String j3dAttrName) {
56 | this.j3dAttrName = j3dAttrName;
57 | }
58 |
59 | /**
60 | * Retrieves the name of the Java 3D system attribute that is bound to this
61 | * shader attribute.
62 | *
63 | * @return the name of the Java 3D system attribute that is bound to this
64 | * shader attribute
65 | */
66 | String getJ3DAttributeName() {
67 | return j3dAttrName;
68 | }
69 |
70 | }
71 |
--------------------------------------------------------------------------------
/src/main/java/org/jogamp/java3d/BHLeafNode.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1999-2008 Sun Microsystems, Inc. All Rights Reserved.
3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 | *
5 | * This code is free software; you can redistribute it and/or modify it
6 | * under the terms of the GNU General Public License version 2 only, as
7 | * published by the Free Software Foundation. Sun designates this
8 | * particular file as subject to the "Classpath" exception as provided
9 | * by Sun in the LICENSE file that accompanied this code.
10 | *
11 | * This code is distributed in the hope that it will be useful, but WITHOUT
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 | * version 2 for more details (a copy is included in the LICENSE file that
15 | * accompanied this code).
16 | *
17 | * You should have received a copy of the GNU General Public License version
18 | * 2 along with this work; if not, write to the Free Software Foundation,
19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 | *
21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 | * CA 95054 USA or visit www.sun.com if you need additional information or
23 | * have any questions.
24 | *
25 | */
26 |
27 | package org.jogamp.java3d;
28 |
29 |
30 | class BHLeafNode extends BHNode {
31 |
32 | BHLeafInterface leafIF;
33 |
34 | BHLeafNode() {
35 | super();
36 | nodeType = BH_TYPE_LEAF;
37 | leafIF = null;
38 | }
39 |
40 | BHLeafNode(BHNode parent) {
41 | super(parent);
42 | nodeType = BH_TYPE_LEAF;
43 | }
44 |
45 | BHLeafNode(BHLeafInterface lIF) {
46 | super();
47 | nodeType = BH_TYPE_LEAF;
48 | leafIF = lIF;
49 | }
50 |
51 | BHLeafNode(BHNode parent, BHLeafInterface lIF) {
52 | super(parent);
53 | leafIF = lIF;
54 | nodeType = BH_TYPE_LEAF;
55 | }
56 |
57 | BHLeafNode(BHNode parent, BoundingBox bHull) {
58 | super(parent, bHull);
59 | nodeType = BH_TYPE_LEAF;
60 | }
61 |
62 | BHLeafNode(BHNode parent, BHLeafInterface lIF, BoundingBox bHull) {
63 | super(parent, bHull);
64 | leafIF = lIF;
65 | nodeType = BH_TYPE_LEAF;
66 | }
67 |
68 | @Override
69 | void computeBoundingHull() {
70 | bHull = leafIF.computeBoundingHull();
71 | }
72 |
73 | @Override
74 | void updateMarkedBoundingHull() {
75 |
76 | if(mark == false)
77 | return;
78 |
79 | computeBoundingHull();
80 | mark = false;
81 | }
82 |
83 | boolean isEnable() {
84 | return leafIF.isEnable();
85 | }
86 |
87 | boolean isEnable(int vis) {
88 | return leafIF.isEnable(vis);
89 | }
90 |
91 | Locale getLocale() {
92 | return leafIF.getLocale2();
93 | }
94 |
95 | @Override
96 | void destroyTree(BHNode[] bhArr, int[] index) {
97 | if(bhArr.length <= index[0]) {
98 | // System.err.println("BHLeafNode : Problem bhArr overflow!!!");
99 | return;
100 | }
101 |
102 | parent = null;
103 | bhArr[index[0]] = this;
104 | index[0]++;
105 | }
106 |
107 | }
108 |
--------------------------------------------------------------------------------
/src/main/java/org/jogamp/java3d/DepthComponentNativeRetained.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved.
3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 | *
5 | * This code is free software; you can redistribute it and/or modify it
6 | * under the terms of the GNU General Public License version 2 only, as
7 | * published by the Free Software Foundation. Sun designates this
8 | * particular file as subject to the "Classpath" exception as provided
9 | * by Sun in the LICENSE file that accompanied this code.
10 | *
11 | * This code is distributed in the hope that it will be useful, but WITHOUT
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 | * version 2 for more details (a copy is included in the LICENSE file that
15 | * accompanied this code).
16 | *
17 | * You should have received a copy of the GNU General Public License version
18 | * 2 along with this work; if not, write to the Free Software Foundation,
19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 | *
21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 | * CA 95054 USA or visit www.sun.com if you need additional information or
23 | * have any questions.
24 | *
25 | */
26 |
27 | package org.jogamp.java3d;
28 |
29 | /**
30 | * A 2D array of depth (Z) values stored in the most efficient format for a
31 | * particular device. Values are not accessible by the user and may only be
32 | * used to read the Z values and subsequently write them back.
33 | */
34 |
35 | class DepthComponentNativeRetained extends DepthComponentRetained {
36 | // Change this to whatever native format is best...
37 | int depthData[];
38 |
39 | /**
40 | * Constructs a new native depth (z-buffer) component object with the
41 | * specified width and height.
42 | * @param width the width of the array of depth values
43 | * @param height the height of the array of depth values
44 | */
45 | void initialize(int width, int height) {
46 | type = DEPTH_COMPONENT_TYPE_NATIVE;
47 | depthData = new int[width * height];
48 | this.width = width;
49 | this.height = height;
50 | }
51 |
52 | /**
53 | * Copies the depth data from this object to the specified array.
54 | * @param depthData array of ints that will receive a copy of
55 | * the depth data
56 | */
57 | void getDepthData(int[] depthData) {
58 | int i;
59 | for (i = 0; i < this.depthData.length; i++)
60 | depthData[i] = this.depthData[i];
61 | }
62 |
63 | /**
64 | * retrieve depth data from input buffer
65 | */
66 | final void retrieveDepth(int[] buf, int wRead, int hRead) {
67 | int srcOffset, dstOffset, i;
68 |
69 | // Yup -> Ydown
70 | for (srcOffset = (hRead - 1) * wRead, dstOffset = 0,
71 | i = 0; i < hRead; i++,
72 | srcOffset -= wRead, dstOffset += width) {
73 |
74 | System.arraycopy(buf, srcOffset, depthData, dstOffset, wRead);
75 | }
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/src/main/java/org/jogamp/java3d/AudioDeviceEnumerator.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 | *
5 | * This code is free software; you can redistribute it and/or modify it
6 | * under the terms of the GNU General Public License version 2 only, as
7 | * published by the Free Software Foundation. Sun designates this
8 | * particular file as subject to the "Classpath" exception as provided
9 | * by Sun in the LICENSE file that accompanied this code.
10 | *
11 | * This code is distributed in the hope that it will be useful, but WITHOUT
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 | * version 2 for more details (a copy is included in the LICENSE file that
15 | * accompanied this code).
16 | *
17 | * You should have received a copy of the GNU General Public License version
18 | * 2 along with this work; if not, write to the Free Software Foundation,
19 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 | *
21 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 | * CA 95054 USA or visit www.sun.com if you need additional information or
23 | * have any questions.
24 | *
25 | */
26 |
27 | package org.jogamp.java3d;
28 |
29 | import java.util.Iterator;
30 | import java.util.NoSuchElementException;
31 |
32 | /**
33 | * The class that enumerates all AudioDevices defined in the environment
34 | *
35 | * An AudioDeviceEnumerator generates the audio devices defined with the
36 | * execution environment of the currently running Java 3D application.
37 | */
38 |
39 | class AudioDeviceEnumerator implements Iterator(attrName, value) pairs, is used for explicitly
50 | * defined attributes(attrName, j3dAttrName) pairs, is used for
53 | * implicitly defined, automatically tracked attributes