aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/GL2ES2PipelineUsageGuide.md109
-rw-r--r--docs/api-changes-1_7.txt139
-rw-r--r--docs/perf_guide.txt62
-rw-r--r--docs/tutorial/j3d_tutorial_ch0.pdfbin0 -> 194624 bytes
-rw-r--r--docs/tutorial/j3d_tutorial_ch1.pdfbin0 -> 212597 bytes
-rw-r--r--docs/tutorial/j3d_tutorial_ch2.pdfbin0 -> 242074 bytes
-rw-r--r--docs/tutorial/j3d_tutorial_ch3.pdfbin0 -> 184034 bytes
-rw-r--r--docs/tutorial/j3d_tutorial_ch4.pdfbin0 -> 236398 bytes
-rw-r--r--docs/tutorial/j3d_tutorial_ch5.pdfbin0 -> 269320 bytes
-rw-r--r--docs/tutorial/j3d_tutorial_ch6.pdf415
-rw-r--r--docs/tutorial/j3d_tutorial_ch7.pdf415
11 files changed, 1112 insertions, 28 deletions
diff --git a/docs/GL2ES2PipelineUsageGuide.md b/docs/GL2ES2PipelineUsageGuide.md
new file mode 100644
index 0000000..41a9ee9
--- /dev/null
+++ b/docs/GL2ES2PipelineUsageGuide.md
@@ -0,0 +1,109 @@
+GL2ES2Pipeline
+===
+The main change if Java3D 1.7 is the addition of a pipeline that is compatible with the ES2 and ES3 OpenGL drivers.
+These drivers are generally found less powerful OS and hardware, for example iOS, Android and Raspbian.
+
+Note that this release of Java3D is still tightly bound to the awt package and so cannot run on any thing that does not support that package e.g. Android
+
+In addition this release does not yet fully support compressed textures, which are mandatory on all apps that are of significant size due to memory constraints. You can however extend it to support them, contact the forum to find out how.
+
+
+##How to use the GL2ES2 pipeline
+Put this property in either the command line
+
+-Dj3d.rend=jogl2es2
+
+or at the beginning of your main
+
+public static main(String[] args){System.setProperty("j3d.rend", "jogl2es2"); …
+
+You will probably also want these 2 other properties at least:
+
+sun.awt.noerasebackground=true
+
+j3d.displaylist=false
+
+##Where to get examples of its use, including shader code
+Please look in the [java3d-examples](https://github.com/philjord/java3d-examples.git) project particularly under the org.jdesktop.j3d.examples.gl2es2pipeline package
+
+The examples include:
+* texture coordinate generation
+* texture + lighting
+* Phong lighting
+* Blinn-Phong lighting
+* various material usages
+* information on fog data that's available
+
+A good place to start is with:
+* SimpleShaderAppearance.java
+* fixed_function_shader.vert
+* fixed_function_shader.frag
+
+
+There is a nice comparison in the org.jdesktop.j3d.examples.sphere_motion package of FFP, glsl with \#version 100 built-in variables and the gl2es2pipeline equivalent. This shows that the output is nearly identical and shows how easy it is to go from a built-in using shader to the gl2es2pipeline.
+
+##What variables can be used in the shaders
+In creating the GL2ES2Pipeline, the mechanism was setup such that the some new variables would be available that will work like the earlier built-in variables from glsl \#version 100 and that they would flow through from the scenegraph/pipeline into the shader, in a manner that should allow simple conversion and a clear understanding.
+
+The built-in gl\_\* type variables have been replicated by having a gl\* equivalent.
+To access these new variables they need to be defined in the shader, this is unlike the built-in equivalents.
+
+This occurs for attributes and uniforms e.g.
+
+gl\_Vertex can be accessed via glVertex, so long as glVertex is defined in the shader like so:
+
+attribute vec4 glVertex;
+
+It will supply exactly the same value as gl\_Vertex did.
+
+Note that Light, Material and Fog data require a struct to be defined before they can be used, see examples for more information.
+
+These example shaders attempt to explain the new usable built-in equivalent variables and some information on how to calculate other built-in variables that may be required.
+
+/j3dexamples/src/classes/org/jdesktop/j3d/examples/gl2es2pipeline/fixed\_function\_shader.frag
+
+/j3dexamples/src/classes/org/jdesktop/j3d/examples/gl2es2pipeline/fixed\_function\_shader.vert
+
+Or
+
+<https://github.com/philjord/java3d-examples/blob/dev1.7.0/src/classes/org/jdesktop/j3d/examples/gl2es2pipeline/fixed_function_shader.frag>
+
+<https://github.com/philjord/java3d-examples/blob/dev1.7.0/src/classes/org/jdesktop/j3d/examples/gl2es2pipeline/fixed_function_shader.vert>
+
+A note of caution:
+If you are using a shader with a low \#version number it will not complain if you accidentally mis-type one of the new GL2ES2Pipline variables as it’s equivalent fixed function built-in e.g.
+
+glVertex
+
+as
+
+gl_Vertex
+
+The shader will compile and run fine, but you will get no data in that variable. The solution is to set a higher version number e.g. \#version 150 or to be very careful.
+
+
+##GL2ES2Pipeline limitations
+These limitations will be written out to standard err if they can be detected by the pipeline. In many cases they cannot, and will either be ignored or throw an exception.
+* Coordinates must be defined and float type, colors must be float type, if defined.
+* Decaling is not supported.
+* Model Clip is not supported and must be re-implemented in shaders
+* QuadArray or IndexedQuadArray cannot be supported.
+* Texture Coordinate generation cannot be supported, examples of it's use can be found in SimpleShaderAppearance in the Java3d-Utils.
+* Texture Lod, Filter, Sharpen and Combine cannot be supported
+* Texture3D cannot be supported.
+* Accum style anti-aliasing cannot be supported.
+* RasterOps from RenderingAttributes cannot be used.
+* It is strongly recommended that you use the format GeometryArray.USE\_NIO\_BUFFER = true.
+* Note LineArray and LineStripArray will not render as nicely as the fixed function pipeline.
+* Antialiasing enable/disable GL\_MULTI\_SAMPLE is gone, but the method glSampleCoverage exists still, so if the caps support it then it must be on
+GL\_SAMPLE\_ALPHA\_TO\_COVERAGE and GL\_SAMPLE\_COVERAGE can be enabled under ES2
+* Display lists are removed, so if you are not using by_ref geometry you are likely to need to add System.setProperty("j3d.displaylist", "false");.
+* Line patterns cannot be supported
+* Screen door transparency cannot be supported
+* AutoMipMaps are disabled as pure ES2 has a separate system glGenMipMaps but GL2ES2 doesn’t support this
+* Image formats without Alpha (like TYPE\_INT\_BGR) will not have alpha forced to 1, so alpha will be undefined
+* Texture boundary colors gone (and therefore CLAMP\_TO\_BOUNDARY)
+* ImageComponentRetained.TYPE\_BYTE\_ABGR and Texture.INTENSITY andImageComponentRetained.TYPE\_INT\_BGR cannot be supported
+
+
+
diff --git a/docs/api-changes-1_7.txt b/docs/api-changes-1_7.txt
new file mode 100644
index 0000000..75a8df9
--- /dev/null
+++ b/docs/api-changes-1_7.txt
@@ -0,0 +1,139 @@
+This document contains the proposed API changes to the Java 3D 1.7 API
+that deviate from the 1.6 API:
+
+I. Relocation of the javax.media package into org.jogamp to be consistent
+with the Maven group identifier and to avoid name clashes with the obsolete
+versions of Java3D shipped with OS X and loaded as extensions.
+
+II. Addition of a new pipeline org.jogamp.Jogl2es2pipeline see /docs/GL2ES2Pipeline usage guide.md for usage.
+
+III. All usages of Enumeration and been swapped to use the less internally complex Iterator
+
+Altered classes, fields, constructors, methods
+
+ AudioDeviceEnumerator
+ ---------------
+ Altered class:
+ class AudioDeviceEnumerator implements Enumeration
+ altered to
+ class AudioDeviceEnumerator implements Iterator<AudioDevice>
+
+
+ WakeupCriteriaEnumerator
+ ---------------
+ Altered class:
+ class WakeupCriteriaEnumerator implements Enumeration
+ altered to
+ class WakeupCriteriaEnumerator implements Iterator<WakeupCriterion>
+
+
+ Behavior
+ ---------------
+ Altered methods:
+ public abstract void processStimulus(Enumeration criteria);
+ altered to
+ public abstract void processStimulus(Iterator<WakeupCriterion> criteria);
+
+
+ GraphicsContext3D
+ ---------------
+ Altered methods:
+ public Enumeration<Light> getAllLights()
+ altered to
+ public Iterator<Light> getAllLights()
+ public Enumeration<Sound> getAllSounds()
+ altered to
+ public Iterator<Sound> getAllSounds()
+
+
+ Group
+ ---------------
+ Altered methods:
+ public Enumeration<Node> getAllChildren()
+ altered to
+ public Iterator<Node> getAllChildren()
+
+
+ Light
+ ---------------
+ Altered methods:
+ public Enumeration<Group> getAllScopes()
+ altered to
+ public Iterator<Group> getAllScopes()
+
+
+ Locale
+ ---------------
+ Altered methods:
+ public Enumeration getAllBranchGraphs()
+ altered to
+ public Iterator<BranchGroup> getAllBranchGraphs()
+
+
+ LOD
+ ---------------
+ Altered methods:
+ public Enumeration getAllSwitches()
+ altered to
+ public Iterator<Switch> getAllSwitches()
+
+
+ ModelClip
+ ---------------
+ Altered methods:
+ public Enumeration<Group> getAllScopes()
+ altered to
+ public Iterator<Group> getAllScopes()
+
+
+ PhysicalEnvironment
+ ---------------
+ Altered methods:
+ public Enumeration<InputDevice> getAllInputDevices()
+ altered to
+ public Iterator<InputDevice> getAllInputDevices()
+
+
+ Shape3D
+ ---------------
+ Altered methods:
+ public Enumeration getAllGeometries()
+ altered to
+ public Iterator<Geometry> getAllGeometries()
+
+
+ View
+ ---------------
+ Altered methods:
+ public Enumeration<Canvas3D> getAllCanvas3Ds()
+ altered to
+ public Iterator<Canvas3D> getAllCanvas3Ds()
+
+
+ ViewSpecificGroup
+ ---------------
+ Altered methods:
+ public Enumeration<View> getAllViews()
+ altered to
+ public Iterator<View> getAllViews()
+
+
+ VirtualUniverse
+ ---------------
+ Altered methods:
+ public Enumeration<Locale> getAllLocales()
+ altered to
+ public Iterator<Locale> getAllLocales()
+
+
+ WakeupCondition
+ ---------------
+ Altered methods:
+ public Enumeration allElements()
+ altered to
+ public Iterator<WakeupCriterion> allElements()
+ public Enumeration triggeredElements()
+ altered to
+ public Iterator<WakeupCriterion> triggeredElements()
+
+ \ No newline at end of file
diff --git a/docs/perf_guide.txt b/docs/perf_guide.txt
index fa07779..6bf480f 100644
--- a/docs/perf_guide.txt
+++ b/docs/perf_guide.txt
@@ -13,6 +13,22 @@ application.
II - Performance in the API
+ Due to some introduced bugs in the Java3D API some of the most important performance features
+ are effectively disabled. As of Java3D 1.7.0 they can be turned back on but will require some
+ code changes through any given project due to the possibility of reliance on the features
+ that broke the compilation system.
+ In order to maximize compilation of the scene graph you must have these properties set:
+ j3d.defaultReadCapability = false
+ j3d.defaultNodePickable = false
+ j3d.defaultNodeCollidable = false
+ Also, contrary to documentation you MUST manually call compile on BranchGroups and SharedGroups before adding
+ them to the scene graph, it does not happen automatically.
+ With defaultReadCapability set to false you will need to enable any read capabilities, but be aware that they should only
+ be set enabled where necessary as they heavily impact the compile function.
+
+ Note when using the new Jogl2es2Pipeline, there are no display lists, so all references to their usage below are not valid.
+
+
There are a number of things in the API that were included specifically
to increase performance. This section examines a few of them.
@@ -51,7 +67,7 @@ to increase performance. This section examines a few of them.
completely defined by the direct path from the root node to the
given leaf. That means that leaf nodes have no effect on other
leaf nodes, and therefore may be rendered in any order. There
- are a few ordering requirements for direct descendents of
+ are a few ordering requirements for direct descendants of
OrderedGroup nodes or Transparent objects. But, most leaf nodes
may be reordered to facilitate more efficient rendering.
@@ -327,19 +343,19 @@ performance.
that don't follow these guidelines completely.
- Behaviors
- One of these cases is the Behavior scheduler when there
- are pending WakeupOnElapsedTime criteria. In this case,
- it needs to wakeup when the minimum WakeupOnElapsedTime
- criteria is about to expire. So, application use of
- WakeupOnElapsedTime can cause the Behavior scheduler to
- run more often than might be necessary.
+ One of these cases is the Behavior scheduler when there
+ are pending WakeupOnElapsedTime criteria. In this case,
+ it needs to wakeup when the minimum WakeupOnElapsedTime
+ criteria is about to expire. So, application use of
+ WakeupOnElapsedTime can cause the Behavior scheduler to
+ run more often than might be necessary.
- Sounds
- The final special case for Java 3D threads is the Sound
- subsystem. Due to some limitations in the current sound
- rendering engine, enabling sounds cause the sound engine
- to potentially run at a higher priority than other
- threads. This may adversely effect performance.
+ The final special case for Java 3D threads is the Sound
+ subsystem. Due to some limitations in the current sound
+ rendering engine, enabling sounds cause the sound engine
+ to potentially run at a higher priority than other
+ threads. This may adversely effect performance.
- Threads in General
There is one last comment to make on threads is general.
@@ -351,12 +367,12 @@ performance.
etc.), more CPUs could be utilized.
- Switch Nodes for Occlusion Culling
- If the application is a first person point of view
- application, and the environment is well known, Switch nodes
- may be used to implement simple occlusion culling. The
- children of the switch node that are not currently visible may
- be turned off. If the application has this kind of knowledge,
- this can be a very useful technique.
+ If the application is a first person point of view
+ application, and the environment is well known, Switch nodes
+ may be used to implement simple occlusion culling. The
+ children of the switch node that are not currently visible may
+ be turned off. If the application has this kind of knowledge,
+ this can be a very useful technique.
- Switch Nodes for Animation
Most animation is accomplished by changing the transformations
@@ -385,13 +401,3 @@ performance.
and better picking performance, use PickRay instead of
PickCone/PickCylnder unless you need to pick line/point.
PickCanvas with a tolerance of 0 will use PickRay for picking.
-
- - D3D user only
- Using Quad with Polygon line mode is very slow. This is because
- DirectX doesn't support Quad. Breaking down the Quad
- into two triangles causes the the diagonal line to be displayed.
- Instead Java 3D draws the polygon line and does the hidden surface
- removal manually.
-
- Automatic texture generation mode Eye Linear is slower
- because D3D doesn't support this mode.
diff --git a/docs/tutorial/j3d_tutorial_ch0.pdf b/docs/tutorial/j3d_tutorial_ch0.pdf
new file mode 100644
index 0000000..cb21655
--- /dev/null
+++ b/docs/tutorial/j3d_tutorial_ch0.pdf
Binary files differ
diff --git a/docs/tutorial/j3d_tutorial_ch1.pdf b/docs/tutorial/j3d_tutorial_ch1.pdf
new file mode 100644
index 0000000..7b58499
--- /dev/null
+++ b/docs/tutorial/j3d_tutorial_ch1.pdf
Binary files differ
diff --git a/docs/tutorial/j3d_tutorial_ch2.pdf b/docs/tutorial/j3d_tutorial_ch2.pdf
new file mode 100644
index 0000000..d66cef3
--- /dev/null
+++ b/docs/tutorial/j3d_tutorial_ch2.pdf
Binary files differ
diff --git a/docs/tutorial/j3d_tutorial_ch3.pdf b/docs/tutorial/j3d_tutorial_ch3.pdf
new file mode 100644
index 0000000..0f7c566
--- /dev/null
+++ b/docs/tutorial/j3d_tutorial_ch3.pdf
Binary files differ
diff --git a/docs/tutorial/j3d_tutorial_ch4.pdf b/docs/tutorial/j3d_tutorial_ch4.pdf
new file mode 100644
index 0000000..a1e3755
--- /dev/null
+++ b/docs/tutorial/j3d_tutorial_ch4.pdf
Binary files differ
diff --git a/docs/tutorial/j3d_tutorial_ch5.pdf b/docs/tutorial/j3d_tutorial_ch5.pdf
new file mode 100644
index 0000000..ee9f2ae
--- /dev/null
+++ b/docs/tutorial/j3d_tutorial_ch5.pdf
Binary files differ
diff --git a/docs/tutorial/j3d_tutorial_ch6.pdf b/docs/tutorial/j3d_tutorial_ch6.pdf
new file mode 100644
index 0000000..1688808
--- /dev/null
+++ b/docs/tutorial/j3d_tutorial_ch6.pdf
@@ -0,0 +1,415 @@
+
+
+<!DOCTYPE html>
+
+
+
+<!-- HEADER -->
+<html>
+ <head>
+ <title>Internet Archive Wayback Machine</title>
+ <script type="text/javascript" src="/static/js/analytics.js"></script>
+ <script type="text/javascript">archive_analytics.values.server_name="wwwb-app7.us.archive.org";archive_analytics.values.server_ms=660;</script>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <link rel="stylesheet" type="text/css" href="/static/css/styles.css" />
+ <base target="_top" />
+ </head>
+ <body>
+
+ <!DOCTYPE html>
+<html lang="en">
+<!-- __ _ _ _ __| |_ (_)__ _____
+ / _` | '_/ _| ' \| |\ V / -_)
+ \__,_|_| \__|_||_|_| \_/\___| -->
+ <head>
+ <title>Internet Archive Wayback Machine</title>
+
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <script>window.archive_setup=[]</script>
+ <script src="//archive.org/includes/jquery-1.10.2.min.js?v1.10.2" type="text/javascript"></script>
+ <script src="//archive.org/includes/analytics.js?v=58d342d" type="text/javascript"></script>
+ <script src="//archive.org/includes/bootstrap.min.js?v3.0.0" type="text/javascript"></script>
+ <script src="https://archive.org/includes/node_modules/react/dist/react.js?v15.1.0" type="text/javascript"></script>
+ <script src="https://archive.org/includes/node_modules/react-dom/dist/react-dom.js?v15.1.0" type="text/javascript"></script>
+ <script src="https://archive.org/includes/archive.min.js?v=58d342d" type="text/javascript"></script>
+ <link href="//archive.org/includes/archive.min.css?v=58d342d" rel="stylesheet" type="text/css"/>
+ <link rel="SHORTCUT ICON" href="https://archive.org/images/glogo.jpg"/>
+ </head>
+ <body class="navia UI4">
+ <a href="#maincontent" class="hidden-for-screen-readers">Skip to main content</a>
+
+ <!-- Wraps all page content -->
+ <div id="wrap">
+
+
+
+
+
+
+
+ <div id="navwrap1">
+ <div id="navwrap2">
+
+ <div id="nav-tophat" class="collapse">
+
+ <div class="row toprow web" style="max-width:1000px;margin:auto;">
+ <div class="col-xs-12">
+ <div class="wayback-txt">
+ Search the history of over 510 billion pages on the Internet.
+ </div>
+ <div class="roundbox7 wayback-main">
+ <div class="row">
+ <div class="col-sm-6" style="padding-left:0; padding-right:0;">
+ <a style="padding-bottom:0" href="https://archive.org/web/"><img src="https://archive.org/images/WaybackLogoSmall.png" alt="Wayback Machine"/></a>
+ </div>
+ <div class="col-sm-6" style="padding-top:13px;">
+ <form style="position:relative;" onsubmit="if(''==$('#nav-wb-url').val()){$('#nav-wb-url').attr('placeholder', 'enter a web address')} else {document.location.href='//web.archive.org/web/*/'+$('#nav-wb-url').val();}return false;">
+ <span class="iconochive-search" aria-hidden="true"></span><span class="sr-only">search</span> <label for="nav-wb-url" class="sr-only">Search the Wayback Machine</label>
+ <input id="nav-wb-url" class="form-control input-sm roundbox20" type="text" placeholder="http://www." name="url" onclick="$(this).css('padding-left','').parent().find('.iconochive-search').hide()"/>
+ </form>
+ </div>
+ </div><!--/.row-->
+ </div><!--/.wayback-main-->
+ </div>
+ </div><!--./row-->
+
+
+ <div class="row toprow fivecolumns texts">
+
+ <div class="col-sm-2 col-xs-7 col-sm-push-4">
+
+ <div class="linx">
+ <h5>Featured</h5>
+ <a href="https://archive.org/details/texts"><span class="iconochive-texts" aria-hidden="true"></span><span class="sr-only">texts</span> All Texts</a>
+ <a href="https://archive.org/search.php?query=mediatype:texts&sort=-publicdate"><span class="iconochive-latest" aria-hidden="true"></span><span class="sr-only">latest</span> This Just In</a>
+ <a href="https://archive.org/details/smithsonian" title="Smithsonian Libraries">Smithsonian Libraries</a> <a href="https://archive.org/details/fedlink" title="FEDLINK (US)">FEDLINK (US)</a> <a href="https://archive.org/details/genealogy" title="Genealogy">Genealogy</a> <a href="https://archive.org/details/lincolncollection" title="Lincoln Collection">Lincoln Collection</a> <a href="https://archive.org/details/additional_collections" title="Additional Collections">Additional Collections</a> </div>
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-2">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/texts"><img class=" clipW clipH" src="https://archive.org/services/img/texts" style="height:180px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/texts">eBooks &amp; Texts</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7 col-sm-push-2">
+
+ <div class="linx">
+ <h5>Top</h5>
+ <a href="https://archive.org/details/americana" title="American Libraries">American Libraries</a> <a href="https://archive.org/details/toronto" title="Canadian Libraries">Canadian Libraries</a> <a href="https://archive.org/details/universallibrary" title="Universal Library">Universal Library</a> <a href="https://archive.org/details/cdbbsarchive" title="Shareware CD-ROMs">Shareware CD-ROMs</a> <a href="https://archive.org/details/opensource" title="Community Texts">Community Texts</a> <a href="https://archive.org/details/gutenberg" title="Project Gutenberg">Project Gutenberg</a> <a href="https://archive.org/details/biodiversity" title="Biodiversity Heritage Library">Biodiversity Heritage Library</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-4">
+ <div class="widgets">
+ <center>
+<a href="https://openlibrary.org"><img src="https://archive.org/images/widgetOL.png" class="img-responsive" style="margin-bottom:15px"/><b>Open Library</b></a></center>
+ </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7">
+
+ <div class="linx">
+ <h5 class="hidden-xs">&nbsp;</h5>
+ <a href="https://archive.org/details/iacl" title="Children's Library">Children's Library</a> <a href="https://archive.org/details/kimberlykubus" title="Kimberly Kubus">Kimberly Kubus</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+
+ </div><!--/.row-->
+
+ <div class="row toprow fivecolumns movies">
+
+ <div class="col-sm-2 col-xs-7 col-sm-push-4">
+
+ <div class="linx">
+ <h5>Featured</h5>
+ <a href="https://archive.org/details/movies"><span class="iconochive-movies" aria-hidden="true"></span><span class="sr-only">movies</span> All Video</a>
+ <a href="https://archive.org/search.php?query=mediatype:movies&sort=-publicdate"><span class="iconochive-latest" aria-hidden="true"></span><span class="sr-only">latest</span> This Just In</a>
+ <a href="https://archive.org/details/prelinger" title="Prelinger Archives">Prelinger Archives</a> <a href="https://archive.org/details/democracy_now_vid" title="Democracy Now!">Democracy Now!</a> <a href="https://archive.org/details/occupywallstreet" title="Occupy Wall Street">Occupy Wall Street</a> <a href="https://archive.org/details/nsa" title="TV NSA Clip Library">TV NSA Clip Library</a> </div>
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-2">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/tv"><img class=" clipW clipH" src="https://archive.org/services/img/tv" style="height:180px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/tv">TV News</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7 col-sm-push-2">
+
+ <div class="linx">
+ <h5>Top</h5>
+ <a href="https://archive.org/details/animationandcartoons" title="Animation &amp; Cartoons">Animation & Cartoons</a> <a href="https://archive.org/details/artsandmusicvideos" title="Arts &amp; Music">Arts & Music</a> <a href="https://archive.org/details/opensource_movies" title="Community Video">Community Video</a> <a href="https://archive.org/details/computersandtechvideos" title="Computers &amp; Technology">Computers & Technology</a> <a href="https://archive.org/details/culturalandacademicfilms" title="Cultural &amp; Academic Films">Cultural & Academic Films</a> <a href="https://archive.org/details/ephemera" title="Ephemeral Films">Ephemeral Films</a> <a href="https://archive.org/details/moviesandfilms" title="Movies">Movies</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-4">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/911"><img class=" clipW" src="https://archive.org/services/img/911" style="height:135px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/911">Understanding 9/11</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7">
+
+ <div class="linx">
+ <h5 class="hidden-xs">&nbsp;</h5>
+ <a href="https://archive.org/details/newsandpublicaffairs" title="News &amp; Public Affairs">News & Public Affairs</a> <a href="https://archive.org/details/spiritualityandreligion" title="Spirituality &amp; Religion">Spirituality & Religion</a> <a href="https://archive.org/details/sports" title="Sports Videos">Sports Videos</a> <a href="https://archive.org/details/television" title="Television">Television</a> <a href="https://archive.org/details/gamevideos" title="Videogame Videos">Videogame Videos</a> <a href="https://archive.org/details/vlogs" title="Vlogs">Vlogs</a> <a href="https://archive.org/details/youth_media" title="Youth Media">Youth Media</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+
+ </div><!--/.row-->
+
+ <div class="row toprow fivecolumns audio">
+
+ <div class="col-sm-2 col-xs-7 col-sm-push-4">
+
+ <div class="linx">
+ <h5>Featured</h5>
+ <a href="https://archive.org/details/audio"><span class="iconochive-audio" aria-hidden="true"></span><span class="sr-only">audio</span> All Audio</a>
+ <a href="https://archive.org/search.php?query=mediatype:audio&sort=-publicdate"><span class="iconochive-latest" aria-hidden="true"></span><span class="sr-only">latest</span> This Just In</a>
+ <a href="https://archive.org/details/GratefulDead" title="Grateful Dead">Grateful Dead</a> <a href="https://archive.org/details/netlabels" title="Netlabels">Netlabels</a> <a href="https://archive.org/details/oldtimeradio" title="Old Time Radio">Old Time Radio</a> <a href="https://archive.org/details/78rpm" title="78 RPMs and Cylinder Recordings">78 RPMs and Cylinder Recordings</a> </div>
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-2">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/etree"><img class=" clipW clipH" src="https://archive.org/services/img/etree" style="height:180px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/etree">Live Music Archive</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7 col-sm-push-2">
+
+ <div class="linx">
+ <h5>Top</h5>
+ <a href="https://archive.org/details/audio_bookspoetry" title="Audio Books &amp; Poetry">Audio Books & Poetry</a> <a href="https://archive.org/details/opensource_audio" title="Community Audio">Community Audio</a> <a href="https://archive.org/details/audio_tech" title="Computers &amp; Technology">Computers & Technology</a> <a href="https://archive.org/details/audio_music" title="Music, Arts &amp; Culture">Music, Arts & Culture</a> <a href="https://archive.org/details/audio_news" title="News &amp; Public Affairs">News & Public Affairs</a> <a href="https://archive.org/details/audio_foreign" title="Non-English Audio">Non-English Audio</a> <a href="https://archive.org/details/audio_podcast" title="Podcasts">Podcasts</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-4">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/librivoxaudio"><img class=" clipW clipH" src="https://archive.org/services/img/librivoxaudio" style="height:180px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/librivoxaudio">Librivox Free Audiobook</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7">
+
+ <div class="linx">
+ <h5 class="hidden-xs">&nbsp;</h5>
+ <a href="https://archive.org/details/radioprograms" title="Radio Programs">Radio Programs</a> <a href="https://archive.org/details/audio_religion" title="Spirituality &amp; Religion">Spirituality & Religion</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+
+ </div><!--/.row-->
+
+ <div class="row toprow fivecolumns software">
+
+ <div class="col-sm-2 col-xs-7 col-sm-push-4">
+
+ <div class="linx">
+ <h5>Featured</h5>
+ <a href="https://archive.org/details/software"><span class="iconochive-software" aria-hidden="true"></span><span class="sr-only">software</span> All Software</a>
+ <a href="https://archive.org/search.php?query=mediatype:software&sort=-publicdate"><span class="iconochive-latest" aria-hidden="true"></span><span class="sr-only">latest</span> This Just In</a>
+ <a href="https://archive.org/details/tosec" title="Old School Emulation">Old School Emulation</a> <a href="https://archive.org/details/softwarelibrary_msdos_games" title="MS-DOS Games">MS-DOS Games</a> <a href="https://archive.org/details/historicalsoftware" title="Historical Software">Historical Software</a> <a href="https://archive.org/details/classicpcgames" title="Classic PC Games">Classic PC Games</a> <a href="https://archive.org/details/softwarelibrary" title="Software Library">Software Library</a> </div>
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-2">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/internetarcade"><img class=" clipW" src="https://archive.org/services/img/internetarcade" style="height:80px;position:relative;left:-50px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/internetarcade">Internet Arcade</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7 col-sm-push-2">
+
+ <div class="linx">
+ <h5>Top</h5>
+ <a href="https://archive.org/details/open_source_software" title="Community Software">Community Software</a> <a href="https://archive.org/details/softwarelibrary_msdos" title="MS-DOS">MS-DOS</a> <a href="https://archive.org/details/apkarchive" title="APK">APK</a> <a href="https://archive.org/details/softwaresites" title="Software Sites">Software Sites</a> <a href="https://archive.org/details/tucows" title="Tucows Software Library">Tucows Software Library</a> <a href="https://archive.org/details/vintagesoftware" title="Vintage Software">Vintage Software</a> <a href="https://archive.org/details/vectrex" title="Vectrex">Vectrex</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-4">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/consolelivingroom"><img class=" clipW" src="https://archive.org/services/img/consolelivingroom" style="height:127px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/consolelivingroom">Console Living Room</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7">
+
+ <div class="linx">
+ <h5 class="hidden-xs">&nbsp;</h5>
+ <a href="https://archive.org/details/atari_2600_library" title="Atari 2600">Atari 2600</a> <a href="https://archive.org/details/library_magnavox_odyssey2" title="Magnavox Odyssey 2">Magnavox Odyssey 2</a> <a href="https://archive.org/details/bally_astrocade_library" title="Bally Astrocade">Bally Astrocade</a> <a href="https://archive.org/details/sega_genesis_library" title="Sega Genesis">Sega Genesis</a> <a href="https://archive.org/details/softwarelibrary_zx_spectrum" title="ZX Spectrum">ZX Spectrum</a> <a href="https://archive.org/details/gamegear_library" title="Sega Game Gear">Sega Game Gear</a> <a href="https://archive.org/details/zx_spectrum_library_games" title="ZX Spectrum Library: Games">ZX Spectrum Library: Games</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+
+ </div><!--/.row-->
+
+ <div class="row toprow fivecolumns image">
+
+ <div class="col-sm-2 col-xs-7 col-sm-push-4">
+
+ <div class="linx">
+ <h5>Featured</h5>
+ <a href="https://archive.org/details/image"><span class="iconochive-image" aria-hidden="true"></span><span class="sr-only">image</span> All Image</a>
+ <a href="https://archive.org/search.php?query=mediatype:image&sort=-publicdate"><span class="iconochive-latest" aria-hidden="true"></span><span class="sr-only">latest</span> This Just In</a>
+ <a href="https://archive.org/details/flickrcommons" title="Flickr Commons">Flickr Commons</a> <a href="https://archive.org/details/flickr-ows" title="Occupy Wall Street Flickr">Occupy Wall Street Flickr</a> <a href="https://archive.org/details/coverartarchive" title="Cover Art">Cover Art</a> <a href="https://archive.org/details/maps_usgs" title="USGS Maps">USGS Maps</a> </div>
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-2">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/metropolitanmuseumofart-gallery"><img class=" clipW clipH" src="https://archive.org/services/img/metropolitanmuseumofart-gallery" style="height:180px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/metropolitanmuseumofart-gallery">Metropolitan Museum</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7 col-sm-push-2">
+
+ <div class="linx">
+ <h5>Top</h5>
+ <a href="https://archive.org/details/nasa">NASA Images</a> <a href="https://archive.org/details/solarsystemcollection">Solar System Collection</a> <a href="https://archive.org/details/amesresearchcenterimagelibrary">Ames Research Center</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-4">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/brooklynmuseum"><img class=" clipW clipH" src="https://archive.org/services/img/brooklynmuseum" style="height:180px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/brooklynmuseum">Brooklyn Museum</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7">
+
+ <div class="linx">
+ <h5 class="hidden-xs">&nbsp;</h5>
+ </div>
+
+
+ </div><!--/.col-sm-2-->
+
+ </div><!--/.row-->
+ </div><!--/#nav-tophat-->
+
+
+
+ <div class="navbar navbar-inverse navbar-static-top" role="navigation">
+ <div id="nav-tophat-helper" class="hidden-xs"></div>
+ <ul class="nav navbar-nav">
+ <li class="dropdown dropdown-ia pull-left">
+ <a title="Web" class="navia-link web" data-top-kind="web" href="https://archive.org/web/" data-toggle="tooltip" target="_top" data-placement="bottom"><span class="iconochive-web" aria-hidden="true"></span><span class="sr-only">web</span></a>
+ </li>
+ <li class="dropdown dropdown-ia pull-left">
+ <a title="Texts" class="navia-link texts" data-top-kind="texts" href="https://archive.org/details/texts" data-toggle="tooltip" target="_top" data-placement="bottom"><span class="iconochive-texts" aria-hidden="true"></span><span class="sr-only">texts</span></a>
+ </li>
+ <li class="dropdown dropdown-ia pull-left">
+ <a title="Video" class="navia-link movies" data-top-kind="movies" href="https://archive.org/details/movies" data-toggle="tooltip" target="_top" data-placement="bottom"><span class="iconochive-movies" aria-hidden="true"></span><span class="sr-only">movies</span></a>
+ </li>
+ <li class="dropdown dropdown-ia pull-left">
+ <a title="Audio" class="navia-link audio" data-top-kind="audio" href="https://archive.org/details/audio" data-toggle="tooltip" target="_top" data-placement="bottom"><span class="iconochive-audio" aria-hidden="true"></span><span class="sr-only">audio</span></a>
+ </li>
+ <li class="dropdown dropdown-ia pull-left">
+ <a title="Software" class="navia-link software" data-top-kind="software" href="https://archive.org/details/software" data-toggle="tooltip" target="_top" data-placement="bottom"><span class="iconochive-software" aria-hidden="true"></span><span class="sr-only">software</span></a>
+ </li>
+ <li class="dropdown dropdown-ia pull-left rightmost">
+ <a title="Image" class="navia-link image" data-top-kind="image" href="https://archive.org/details/image" data-toggle="tooltip" target="_top" data-placement="bottom"><span class="iconochive-image" aria-hidden="true"></span><span class="sr-only">image</span></a>
+ </li>
+
+ <li class="navbar-brand-li"><a class="navbar-brand" href="https://archive.org/" target="_top"><span class="iconochive-logo" aria-hidden="true"></span><span class="sr-only">logo</span></a></li>
+
+ <li class="nav-hamburger dropdown dropdown-ia pull-right hidden-sm hidden-md hidden-lg">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#nav-hamburger-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <div class="navbar-collapse collapse" id="nav-hamburger-menu" aria-expanded="false">
+ <ul class="nav navbar-nav">
+ <li><a target="_top" href="https://archive.org/about/">ABOUT</a></li>
+ <li><a target="_top" href="https://archive.org/about/contact.php">CONTACT</a></li>
+ <li><a target="_top" href="//blog.archive.org">BLOG</a></li>
+ <li><a target="_top" href="https://archive.org/projects">PROJECTS</a></li>
+ <li><a target="_top" href="https://archive.org/help">HELP</a></li>
+ <li><a target="_top" href="https://archive.org/donate">DONATE</a></li>
+ <li><a target="_top" href="https://archive.org/about/terms.php">TERMS</a></li>
+ <li><a target="_top" href="https://archive.org/about/jobs.php">JOBS</a></li>
+ <li><a target="_top" href="https://archive.org/about/volunteerpositions.php">VOLUNTEER</a></li>
+ <li><a target="_top" href="https://archive.org/about/bios.php">PEOPLE</a></li>
+ </ul>
+ </div><!-- /.navbar-collapse -->
+ </div>
+ </div><!-- /.container-fluid -->
+ </li>
+
+
+
+
+ <li id="nav-search" class="dropdown dropdown-ia pull-right">
+ <a href="https://archive.org/search.php" onclick="$(this).parents('#nav-search').find('form').submit(); return false"><span class="iconochive-search" aria-hidden="true"></span><span class="sr-only">search</span></a>
+ <div>
+ <form method="post" role="search" action="https://archive.org/searchresults.php" target="_top">
+ <label for="search-bar-2" class="sr-only">Search the Archive</label>
+ <input id="search-bar-2" placeholder="Search" type="text" name="search" value=""/>
+ <input type="submit" value="Search"/>
+ </form>
+ </div>
+ </li>
+
+ <li class="dropdown dropdown-ia pull-right">
+ <a id="glyphme" href="https://archive.org/donate" _target="top" data-toggle="tooltip" data-placement="bottom" title="Donate"><img src="https://archive.org/images/gift.png"></a>
+ <!--
+ <a href="https://archive.org/donate" _target="top" data-toggle="tooltip" data-placement="bottom" title="Donate" style="color:#fd8281 !important"><span class="iconochive-heart" aria-hidden="true"></span><span class="sr-only">heart</span></a>
+ -->
+ </li>
+
+
+ <li class="dropdown dropdown-ia pull-right">
+ <a href="https://archive.org/create" _target="top" data-toggle="tooltip" data-placement="bottom" title="Upload"><span class="iconochive-upload" aria-hidden="true"></span><span class="sr-only">upload</span></a>
+ </li>
+
+
+ <li class="dropdown dropdown-ia pull-right leftmost">
+ <a href="https://archive.org/account/login.php" style="padding-right:0" _target="top"><span class="iconochive-person" aria-hidden="true"></span><span class="sr-only">person</span><span class="hidden-xs-span">SIGN IN</span></a>
+ </li>
+
+ </ul>
+ </div><!--/.navbar-->
+
+
+ </div><!--#navwrap1-->
+ </div><!--#navwrap2-->
+
+ <!-- Begin page content -->
+ <div class="container container-ia">
+ <a name="maincontent" id="maincontent"></a>
+
+
+
+<!-- /HEADER -->
+
+
+ <div id="positionHome">
+ <section>
+ <div id="logoHome">
+ <a href="/index.jsp"><h1><span>Internet Archive's Wayback Machine</span></h1></a>
+ </div>
+ </section>
+ <section>
+ <div id="error">
+ <script type="text/javascript">
+ function go() {
+ document.location.href = "\/web\/20130927102321\/http:\/\/www.oracle.com\/technetwork\/java\/index.html";
+ }
+ window.setTimeout("go()",5000);
+ </script>
+ <p class="code">Loading...</p>
+ <p class="code shift target">http://java.sun.com/developer/onlineTraining/java3d/j3d_tutorial_ch6.pdf | 10:23:21 Sep 27, 2013</p>
+ <p class="code shift red">Got an HTTP 301 response at crawl time</p>
+ <p class="code">Redirecting to...</p>
+ <p class="code shift target">http://www.oracle.com/technetwork/java/index.html</p>
+ <p class="impatient"><a href="/web/20130927102321/http://www.oracle.com/technetwork/java/index.html">Impatient?</a></p>
+ </div>
+ </section>
+ <div id="errorBorder"></div>
+
+
+<!-- FOOTER -->
+ <footer>
+ <div id="footerHome">
+ <p>The Wayback Machine is an initiative of the <a href="//archive.org/">Internet Archive</a>, a 501(c)(3) non-profit, building a digital library of Internet sites and other cultural artifacts in digital form.<br/>Other <a href="//archive.org/projects/">projects</a> include <a href="https://openlibrary.org/">Open Library</a> &amp; <a href="https://archive-it.org">archive-it.org</a>.</p>
+ <p>Your use of the Wayback Machine is subject to the Internet Archive's <a href="//archive.org/about/terms.php">Terms of Use</a>.</p>
+ </div>
+ </footer>
+ </div>
+ </body>
+</html>
+<!-- /FOOTER -->
diff --git a/docs/tutorial/j3d_tutorial_ch7.pdf b/docs/tutorial/j3d_tutorial_ch7.pdf
new file mode 100644
index 0000000..99c41a1
--- /dev/null
+++ b/docs/tutorial/j3d_tutorial_ch7.pdf
@@ -0,0 +1,415 @@
+
+
+<!DOCTYPE html>
+
+
+
+<!-- HEADER -->
+<html>
+ <head>
+ <title>Internet Archive Wayback Machine</title>
+ <script type="text/javascript" src="/static/js/analytics.js"></script>
+ <script type="text/javascript">archive_analytics.values.server_name="wwwb-app36.us.archive.org";archive_analytics.values.server_ms=392;</script>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <link rel="stylesheet" type="text/css" href="/static/css/styles.css" />
+ <base target="_top" />
+ </head>
+ <body>
+
+ <!DOCTYPE html>
+<html lang="en">
+<!-- __ _ _ _ __| |_ (_)__ _____
+ / _` | '_/ _| ' \| |\ V / -_)
+ \__,_|_| \__|_||_|_| \_/\___| -->
+ <head>
+ <title>Internet Archive Wayback Machine</title>
+
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <script>window.archive_setup=[]</script>
+ <script src="//archive.org/includes/jquery-1.10.2.min.js?v1.10.2" type="text/javascript"></script>
+ <script src="//archive.org/includes/analytics.js?v=58d342d" type="text/javascript"></script>
+ <script src="//archive.org/includes/bootstrap.min.js?v3.0.0" type="text/javascript"></script>
+ <script src="https://archive.org/includes/node_modules/react/dist/react.js?v15.1.0" type="text/javascript"></script>
+ <script src="https://archive.org/includes/node_modules/react-dom/dist/react-dom.js?v15.1.0" type="text/javascript"></script>
+ <script src="https://archive.org/includes/archive.min.js?v=58d342d" type="text/javascript"></script>
+ <link href="//archive.org/includes/archive.min.css?v=58d342d" rel="stylesheet" type="text/css"/>
+ <link rel="SHORTCUT ICON" href="https://archive.org/images/glogo.jpg"/>
+ </head>
+ <body class="navia UI4">
+ <a href="#maincontent" class="hidden-for-screen-readers">Skip to main content</a>
+
+ <!-- Wraps all page content -->
+ <div id="wrap">
+
+
+
+
+
+
+
+ <div id="navwrap1">
+ <div id="navwrap2">
+
+ <div id="nav-tophat" class="collapse">
+
+ <div class="row toprow web" style="max-width:1000px;margin:auto;">
+ <div class="col-xs-12">
+ <div class="wayback-txt">
+ Search the history of over 510 billion pages on the Internet.
+ </div>
+ <div class="roundbox7 wayback-main">
+ <div class="row">
+ <div class="col-sm-6" style="padding-left:0; padding-right:0;">
+ <a style="padding-bottom:0" href="https://archive.org/web/"><img src="https://archive.org/images/WaybackLogoSmall.png" alt="Wayback Machine"/></a>
+ </div>
+ <div class="col-sm-6" style="padding-top:13px;">
+ <form style="position:relative;" onsubmit="if(''==$('#nav-wb-url').val()){$('#nav-wb-url').attr('placeholder', 'enter a web address')} else {document.location.href='//web.archive.org/web/*/'+$('#nav-wb-url').val();}return false;">
+ <span class="iconochive-search" aria-hidden="true"></span><span class="sr-only">search</span> <label for="nav-wb-url" class="sr-only">Search the Wayback Machine</label>
+ <input id="nav-wb-url" class="form-control input-sm roundbox20" type="text" placeholder="http://www." name="url" onclick="$(this).css('padding-left','').parent().find('.iconochive-search').hide()"/>
+ </form>
+ </div>
+ </div><!--/.row-->
+ </div><!--/.wayback-main-->
+ </div>
+ </div><!--./row-->
+
+
+ <div class="row toprow fivecolumns texts">
+
+ <div class="col-sm-2 col-xs-7 col-sm-push-4">
+
+ <div class="linx">
+ <h5>Featured</h5>
+ <a href="https://archive.org/details/texts"><span class="iconochive-texts" aria-hidden="true"></span><span class="sr-only">texts</span> All Texts</a>
+ <a href="https://archive.org/search.php?query=mediatype:texts&sort=-publicdate"><span class="iconochive-latest" aria-hidden="true"></span><span class="sr-only">latest</span> This Just In</a>
+ <a href="https://archive.org/details/smithsonian" title="Smithsonian Libraries">Smithsonian Libraries</a> <a href="https://archive.org/details/fedlink" title="FEDLINK (US)">FEDLINK (US)</a> <a href="https://archive.org/details/genealogy" title="Genealogy">Genealogy</a> <a href="https://archive.org/details/lincolncollection" title="Lincoln Collection">Lincoln Collection</a> <a href="https://archive.org/details/additional_collections" title="Additional Collections">Additional Collections</a> </div>
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-2">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/texts"><img class=" clipW clipH" src="https://archive.org/services/img/texts" style="height:180px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/texts">eBooks &amp; Texts</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7 col-sm-push-2">
+
+ <div class="linx">
+ <h5>Top</h5>
+ <a href="https://archive.org/details/americana" title="American Libraries">American Libraries</a> <a href="https://archive.org/details/toronto" title="Canadian Libraries">Canadian Libraries</a> <a href="https://archive.org/details/universallibrary" title="Universal Library">Universal Library</a> <a href="https://archive.org/details/cdbbsarchive" title="Shareware CD-ROMs">Shareware CD-ROMs</a> <a href="https://archive.org/details/opensource" title="Community Texts">Community Texts</a> <a href="https://archive.org/details/gutenberg" title="Project Gutenberg">Project Gutenberg</a> <a href="https://archive.org/details/biodiversity" title="Biodiversity Heritage Library">Biodiversity Heritage Library</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-4">
+ <div class="widgets">
+ <center>
+<a href="https://openlibrary.org"><img src="https://archive.org/images/widgetOL.png" class="img-responsive" style="margin-bottom:15px"/><b>Open Library</b></a></center>
+ </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7">
+
+ <div class="linx">
+ <h5 class="hidden-xs">&nbsp;</h5>
+ <a href="https://archive.org/details/iacl" title="Children's Library">Children's Library</a> <a href="https://archive.org/details/kimberlykubus" title="Kimberly Kubus">Kimberly Kubus</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+
+ </div><!--/.row-->
+
+ <div class="row toprow fivecolumns movies">
+
+ <div class="col-sm-2 col-xs-7 col-sm-push-4">
+
+ <div class="linx">
+ <h5>Featured</h5>
+ <a href="https://archive.org/details/movies"><span class="iconochive-movies" aria-hidden="true"></span><span class="sr-only">movies</span> All Video</a>
+ <a href="https://archive.org/search.php?query=mediatype:movies&sort=-publicdate"><span class="iconochive-latest" aria-hidden="true"></span><span class="sr-only">latest</span> This Just In</a>
+ <a href="https://archive.org/details/prelinger" title="Prelinger Archives">Prelinger Archives</a> <a href="https://archive.org/details/democracy_now_vid" title="Democracy Now!">Democracy Now!</a> <a href="https://archive.org/details/occupywallstreet" title="Occupy Wall Street">Occupy Wall Street</a> <a href="https://archive.org/details/nsa" title="TV NSA Clip Library">TV NSA Clip Library</a> </div>
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-2">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/tv"><img class=" clipW clipH" src="https://archive.org/services/img/tv" style="height:180px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/tv">TV News</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7 col-sm-push-2">
+
+ <div class="linx">
+ <h5>Top</h5>
+ <a href="https://archive.org/details/animationandcartoons" title="Animation &amp; Cartoons">Animation & Cartoons</a> <a href="https://archive.org/details/artsandmusicvideos" title="Arts &amp; Music">Arts & Music</a> <a href="https://archive.org/details/opensource_movies" title="Community Video">Community Video</a> <a href="https://archive.org/details/computersandtechvideos" title="Computers &amp; Technology">Computers & Technology</a> <a href="https://archive.org/details/culturalandacademicfilms" title="Cultural &amp; Academic Films">Cultural & Academic Films</a> <a href="https://archive.org/details/ephemera" title="Ephemeral Films">Ephemeral Films</a> <a href="https://archive.org/details/moviesandfilms" title="Movies">Movies</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-4">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/911"><img class=" clipW" src="https://archive.org/services/img/911" style="height:135px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/911">Understanding 9/11</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7">
+
+ <div class="linx">
+ <h5 class="hidden-xs">&nbsp;</h5>
+ <a href="https://archive.org/details/newsandpublicaffairs" title="News &amp; Public Affairs">News & Public Affairs</a> <a href="https://archive.org/details/spiritualityandreligion" title="Spirituality &amp; Religion">Spirituality & Religion</a> <a href="https://archive.org/details/sports" title="Sports Videos">Sports Videos</a> <a href="https://archive.org/details/television" title="Television">Television</a> <a href="https://archive.org/details/gamevideos" title="Videogame Videos">Videogame Videos</a> <a href="https://archive.org/details/vlogs" title="Vlogs">Vlogs</a> <a href="https://archive.org/details/youth_media" title="Youth Media">Youth Media</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+
+ </div><!--/.row-->
+
+ <div class="row toprow fivecolumns audio">
+
+ <div class="col-sm-2 col-xs-7 col-sm-push-4">
+
+ <div class="linx">
+ <h5>Featured</h5>
+ <a href="https://archive.org/details/audio"><span class="iconochive-audio" aria-hidden="true"></span><span class="sr-only">audio</span> All Audio</a>
+ <a href="https://archive.org/search.php?query=mediatype:audio&sort=-publicdate"><span class="iconochive-latest" aria-hidden="true"></span><span class="sr-only">latest</span> This Just In</a>
+ <a href="https://archive.org/details/GratefulDead" title="Grateful Dead">Grateful Dead</a> <a href="https://archive.org/details/netlabels" title="Netlabels">Netlabels</a> <a href="https://archive.org/details/oldtimeradio" title="Old Time Radio">Old Time Radio</a> <a href="https://archive.org/details/78rpm" title="78 RPMs and Cylinder Recordings">78 RPMs and Cylinder Recordings</a> </div>
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-2">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/etree"><img class=" clipW clipH" src="https://archive.org/services/img/etree" style="height:180px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/etree">Live Music Archive</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7 col-sm-push-2">
+
+ <div class="linx">
+ <h5>Top</h5>
+ <a href="https://archive.org/details/audio_bookspoetry" title="Audio Books &amp; Poetry">Audio Books & Poetry</a> <a href="https://archive.org/details/opensource_audio" title="Community Audio">Community Audio</a> <a href="https://archive.org/details/audio_tech" title="Computers &amp; Technology">Computers & Technology</a> <a href="https://archive.org/details/audio_music" title="Music, Arts &amp; Culture">Music, Arts & Culture</a> <a href="https://archive.org/details/audio_news" title="News &amp; Public Affairs">News & Public Affairs</a> <a href="https://archive.org/details/audio_foreign" title="Non-English Audio">Non-English Audio</a> <a href="https://archive.org/details/audio_podcast" title="Podcasts">Podcasts</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-4">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/librivoxaudio"><img class=" clipW clipH" src="https://archive.org/services/img/librivoxaudio" style="height:180px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/librivoxaudio">Librivox Free Audiobook</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7">
+
+ <div class="linx">
+ <h5 class="hidden-xs">&nbsp;</h5>
+ <a href="https://archive.org/details/radioprograms" title="Radio Programs">Radio Programs</a> <a href="https://archive.org/details/audio_religion" title="Spirituality &amp; Religion">Spirituality & Religion</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+
+ </div><!--/.row-->
+
+ <div class="row toprow fivecolumns software">
+
+ <div class="col-sm-2 col-xs-7 col-sm-push-4">
+
+ <div class="linx">
+ <h5>Featured</h5>
+ <a href="https://archive.org/details/software"><span class="iconochive-software" aria-hidden="true"></span><span class="sr-only">software</span> All Software</a>
+ <a href="https://archive.org/search.php?query=mediatype:software&sort=-publicdate"><span class="iconochive-latest" aria-hidden="true"></span><span class="sr-only">latest</span> This Just In</a>
+ <a href="https://archive.org/details/tosec" title="Old School Emulation">Old School Emulation</a> <a href="https://archive.org/details/softwarelibrary_msdos_games" title="MS-DOS Games">MS-DOS Games</a> <a href="https://archive.org/details/historicalsoftware" title="Historical Software">Historical Software</a> <a href="https://archive.org/details/classicpcgames" title="Classic PC Games">Classic PC Games</a> <a href="https://archive.org/details/softwarelibrary" title="Software Library">Software Library</a> </div>
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-2">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/internetarcade"><img class=" clipW" src="https://archive.org/services/img/internetarcade" style="height:80px;position:relative;left:-50px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/internetarcade">Internet Arcade</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7 col-sm-push-2">
+
+ <div class="linx">
+ <h5>Top</h5>
+ <a href="https://archive.org/details/open_source_software" title="Community Software">Community Software</a> <a href="https://archive.org/details/softwarelibrary_msdos" title="MS-DOS">MS-DOS</a> <a href="https://archive.org/details/apkarchive" title="APK">APK</a> <a href="https://archive.org/details/softwaresites" title="Software Sites">Software Sites</a> <a href="https://archive.org/details/tucows" title="Tucows Software Library">Tucows Software Library</a> <a href="https://archive.org/details/vintagesoftware" title="Vintage Software">Vintage Software</a> <a href="https://archive.org/details/vectrex" title="Vectrex">Vectrex</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-4">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/consolelivingroom"><img class=" clipW" src="https://archive.org/services/img/consolelivingroom" style="height:127px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/consolelivingroom">Console Living Room</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7">
+
+ <div class="linx">
+ <h5 class="hidden-xs">&nbsp;</h5>
+ <a href="https://archive.org/details/atari_2600_library" title="Atari 2600">Atari 2600</a> <a href="https://archive.org/details/library_magnavox_odyssey2" title="Magnavox Odyssey 2">Magnavox Odyssey 2</a> <a href="https://archive.org/details/bally_astrocade_library" title="Bally Astrocade">Bally Astrocade</a> <a href="https://archive.org/details/sega_genesis_library" title="Sega Genesis">Sega Genesis</a> <a href="https://archive.org/details/softwarelibrary_zx_spectrum" title="ZX Spectrum">ZX Spectrum</a> <a href="https://archive.org/details/gamegear_library" title="Sega Game Gear">Sega Game Gear</a> <a href="https://archive.org/details/zx_spectrum_library_games" title="ZX Spectrum Library: Games">ZX Spectrum Library: Games</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+
+ </div><!--/.row-->
+
+ <div class="row toprow fivecolumns image">
+
+ <div class="col-sm-2 col-xs-7 col-sm-push-4">
+
+ <div class="linx">
+ <h5>Featured</h5>
+ <a href="https://archive.org/details/image"><span class="iconochive-image" aria-hidden="true"></span><span class="sr-only">image</span> All Image</a>
+ <a href="https://archive.org/search.php?query=mediatype:image&sort=-publicdate"><span class="iconochive-latest" aria-hidden="true"></span><span class="sr-only">latest</span> This Just In</a>
+ <a href="https://archive.org/details/flickrcommons" title="Flickr Commons">Flickr Commons</a> <a href="https://archive.org/details/flickr-ows" title="Occupy Wall Street Flickr">Occupy Wall Street Flickr</a> <a href="https://archive.org/details/coverartarchive" title="Cover Art">Cover Art</a> <a href="https://archive.org/details/maps_usgs" title="USGS Maps">USGS Maps</a> </div>
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-2">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/metropolitanmuseumofart-gallery"><img class=" clipW clipH" src="https://archive.org/services/img/metropolitanmuseumofart-gallery" style="height:180px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/metropolitanmuseumofart-gallery">Metropolitan Museum</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7 col-sm-push-2">
+
+ <div class="linx">
+ <h5>Top</h5>
+ <a href="https://archive.org/details/nasa">NASA Images</a> <a href="https://archive.org/details/solarsystemcollection">Solar System Collection</a> <a href="https://archive.org/details/amesresearchcenterimagelibrary">Ames Research Center</a> </div>
+
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-5 col-sm-pull-4">
+ <div class="widgets">
+ <center class="items_list"><div class="items_list_img"><a href="https://archive.org/details/brooklynmuseum"><img class=" clipW clipH" src="https://archive.org/services/img/brooklynmuseum" style="height:180px"></a></div><a class="stealth boxy-label" href="https://archive.org/details/brooklynmuseum">Brooklyn Museum</a></center> </div><!--/.widgets-->
+
+ </div><!--/.col-sm-2-->
+ <div class="col-sm-2 col-xs-7">
+
+ <div class="linx">
+ <h5 class="hidden-xs">&nbsp;</h5>
+ </div>
+
+
+ </div><!--/.col-sm-2-->
+
+ </div><!--/.row-->
+ </div><!--/#nav-tophat-->
+
+
+
+ <div class="navbar navbar-inverse navbar-static-top" role="navigation">
+ <div id="nav-tophat-helper" class="hidden-xs"></div>
+ <ul class="nav navbar-nav">
+ <li class="dropdown dropdown-ia pull-left">
+ <a title="Web" class="navia-link web" data-top-kind="web" href="https://archive.org/web/" data-toggle="tooltip" target="_top" data-placement="bottom"><span class="iconochive-web" aria-hidden="true"></span><span class="sr-only">web</span></a>
+ </li>
+ <li class="dropdown dropdown-ia pull-left">
+ <a title="Texts" class="navia-link texts" data-top-kind="texts" href="https://archive.org/details/texts" data-toggle="tooltip" target="_top" data-placement="bottom"><span class="iconochive-texts" aria-hidden="true"></span><span class="sr-only">texts</span></a>
+ </li>
+ <li class="dropdown dropdown-ia pull-left">
+ <a title="Video" class="navia-link movies" data-top-kind="movies" href="https://archive.org/details/movies" data-toggle="tooltip" target="_top" data-placement="bottom"><span class="iconochive-movies" aria-hidden="true"></span><span class="sr-only">movies</span></a>
+ </li>
+ <li class="dropdown dropdown-ia pull-left">
+ <a title="Audio" class="navia-link audio" data-top-kind="audio" href="https://archive.org/details/audio" data-toggle="tooltip" target="_top" data-placement="bottom"><span class="iconochive-audio" aria-hidden="true"></span><span class="sr-only">audio</span></a>
+ </li>
+ <li class="dropdown dropdown-ia pull-left">
+ <a title="Software" class="navia-link software" data-top-kind="software" href="https://archive.org/details/software" data-toggle="tooltip" target="_top" data-placement="bottom"><span class="iconochive-software" aria-hidden="true"></span><span class="sr-only">software</span></a>
+ </li>
+ <li class="dropdown dropdown-ia pull-left rightmost">
+ <a title="Image" class="navia-link image" data-top-kind="image" href="https://archive.org/details/image" data-toggle="tooltip" target="_top" data-placement="bottom"><span class="iconochive-image" aria-hidden="true"></span><span class="sr-only">image</span></a>
+ </li>
+
+ <li class="navbar-brand-li"><a class="navbar-brand" href="https://archive.org/" target="_top"><span class="iconochive-logo" aria-hidden="true"></span><span class="sr-only">logo</span></a></li>
+
+ <li class="nav-hamburger dropdown dropdown-ia pull-right hidden-sm hidden-md hidden-lg">
+ <div class="container-fluid">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#nav-hamburger-menu" aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <div class="navbar-collapse collapse" id="nav-hamburger-menu" aria-expanded="false">
+ <ul class="nav navbar-nav">
+ <li><a target="_top" href="https://archive.org/about/">ABOUT</a></li>
+ <li><a target="_top" href="https://archive.org/about/contact.php">CONTACT</a></li>
+ <li><a target="_top" href="//blog.archive.org">BLOG</a></li>
+ <li><a target="_top" href="https://archive.org/projects">PROJECTS</a></li>
+ <li><a target="_top" href="https://archive.org/help">HELP</a></li>
+ <li><a target="_top" href="https://archive.org/donate">DONATE</a></li>
+ <li><a target="_top" href="https://archive.org/about/terms.php">TERMS</a></li>
+ <li><a target="_top" href="https://archive.org/about/jobs.php">JOBS</a></li>
+ <li><a target="_top" href="https://archive.org/about/volunteerpositions.php">VOLUNTEER</a></li>
+ <li><a target="_top" href="https://archive.org/about/bios.php">PEOPLE</a></li>
+ </ul>
+ </div><!-- /.navbar-collapse -->
+ </div>
+ </div><!-- /.container-fluid -->
+ </li>
+
+
+
+
+ <li id="nav-search" class="dropdown dropdown-ia pull-right">
+ <a href="https://archive.org/search.php" onclick="$(this).parents('#nav-search').find('form').submit(); return false"><span class="iconochive-search" aria-hidden="true"></span><span class="sr-only">search</span></a>
+ <div>
+ <form method="post" role="search" action="https://archive.org/searchresults.php" target="_top">
+ <label for="search-bar-2" class="sr-only">Search the Archive</label>
+ <input id="search-bar-2" placeholder="Search" type="text" name="search" value=""/>
+ <input type="submit" value="Search"/>
+ </form>
+ </div>
+ </li>
+
+ <li class="dropdown dropdown-ia pull-right">
+ <a id="glyphme" href="https://archive.org/donate" _target="top" data-toggle="tooltip" data-placement="bottom" title="Donate"><img src="https://archive.org/images/gift.png"></a>
+ <!--
+ <a href="https://archive.org/donate" _target="top" data-toggle="tooltip" data-placement="bottom" title="Donate" style="color:#fd8281 !important"><span class="iconochive-heart" aria-hidden="true"></span><span class="sr-only">heart</span></a>
+ -->
+ </li>
+
+
+ <li class="dropdown dropdown-ia pull-right">
+ <a href="https://archive.org/create" _target="top" data-toggle="tooltip" data-placement="bottom" title="Upload"><span class="iconochive-upload" aria-hidden="true"></span><span class="sr-only">upload</span></a>
+ </li>
+
+
+ <li class="dropdown dropdown-ia pull-right leftmost">
+ <a href="https://archive.org/account/login.php" style="padding-right:0" _target="top"><span class="iconochive-person" aria-hidden="true"></span><span class="sr-only">person</span><span class="hidden-xs-span">SIGN IN</span></a>
+ </li>
+
+ </ul>
+ </div><!--/.navbar-->
+
+
+ </div><!--#navwrap1-->
+ </div><!--#navwrap2-->
+
+ <!-- Begin page content -->
+ <div class="container container-ia">
+ <a name="maincontent" id="maincontent"></a>
+
+
+
+<!-- /HEADER -->
+
+
+ <div id="positionHome">
+ <section>
+ <div id="logoHome">
+ <a href="/index.jsp"><h1><span>Internet Archive's Wayback Machine</span></h1></a>
+ </div>
+ </section>
+ <section>
+ <div id="error">
+ <script type="text/javascript">
+ function go() {
+ document.location.href = "\/web\/20140611130942\/http:\/\/www.oracle.com\/technetwork\/java\/index.html";
+ }
+ window.setTimeout("go()",5000);
+ </script>
+ <p class="code">Loading...</p>
+ <p class="code shift target">http://java.sun.com/developer/onlineTraining/java3d/j3d_tutorial_ch7.pdf | 13:09:42 Jun 11, 2014</p>
+ <p class="code shift red">Got an HTTP 301 response at crawl time</p>
+ <p class="code">Redirecting to...</p>
+ <p class="code shift target">http://www.oracle.com/technetwork/java/index.html</p>
+ <p class="impatient"><a href="/web/20140611130942/http://www.oracle.com/technetwork/java/index.html">Impatient?</a></p>
+ </div>
+ </section>
+ <div id="errorBorder"></div>
+
+
+<!-- FOOTER -->
+ <footer>
+ <div id="footerHome">
+ <p>The Wayback Machine is an initiative of the <a href="//archive.org/">Internet Archive</a>, a 501(c)(3) non-profit, building a digital library of Internet sites and other cultural artifacts in digital form.<br/>Other <a href="//archive.org/projects/">projects</a> include <a href="https://openlibrary.org/">Open Library</a> &amp; <a href="https://archive-it.org">archive-it.org</a>.</p>
+ <p>Your use of the Wayback Machine is subject to the Internet Archive's <a href="//archive.org/about/terms.php">Terms of Use</a>.</p>
+ </div>
+ </footer>
+ </div>
+ </body>
+</html>
+<!-- /FOOTER -->