summaryrefslogtreecommitdiffstats
path: root/www/j3d1_4
diff options
context:
space:
mode:
authorKevin Rushforth <[email protected]>2006-01-24 15:48:07 +0000
committerKevin Rushforth <[email protected]>2006-01-24 15:48:07 +0000
commit2229f72a2bd37040e0f7b0a249923b550fb15309 (patch)
treebf1eddd36087d99a624f21b9cd00d75de70038d2 /www/j3d1_4
parent9d7eff05ab6ff5b71b88cf77e9eabe63bcec5ac3 (diff)
Updated more obsolete pages; they all now point to the Wiki
git-svn-id: https://svn.java.net/svn/j3d-core~svn/trunk@508 ba19aa83-45c5-6ac9-afd3-db810772062c
Diffstat (limited to 'www/j3d1_4')
-rw-r--r--www/j3d1_4/graph-change-listener.html31
-rw-r--r--www/j3d1_4/lightweight-canvas3d.html25
-rw-r--r--www/j3d1_4/multipass.html31
-rw-r--r--www/j3d1_4/picking.html198
-rw-r--r--www/j3d1_4/render-texture.html75
-rw-r--r--www/j3d1_4/shaders.html180
-rw-r--r--www/j3d1_4/stencil.html62
-rw-r--r--www/j3d1_4/vsg-op.html75
8 files changed, 40 insertions, 637 deletions
diff --git a/www/j3d1_4/graph-change-listener.html b/www/j3d1_4/graph-change-listener.html
index 6350211..4cdc828 100644
--- a/www/j3d1_4/graph-change-listener.html
+++ b/www/j3d1_4/graph-change-listener.html
@@ -3,33 +3,12 @@
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
- <title>Java 3D 1.4: Graph Structure Change Listener</title>
+ <title>Obsolete Page</title>
</head>
<body>
-<h2>Java&nbsp;3D<sup><font size="-2">TM</font></sup> 1.4:
-Graph Structure Change Listener</h2>
-<hr>
-<p>This page describes a proposed Java&nbsp;3D 1.4 feature to add a
-notification mechansim for scene graph structure
-changes: additions, deletions, and
-moves of branch graphs to/from a live scene graph. We propose
-adding <code>add/removeGraphStructureChangeListener(</code><code>GraphStructureChangeListener</code><code>)</code>
-methods to <code>VirtualUniverse</code> and a new <code>GraphStructureChangeListener</code>
-interface with <code>branchGroupAdded</code>,&nbsp;<code>branchGroup</code><code>Removed</code>,
-and <code>branchGroup</code><code>Moved</code> methods that get called
-when any branch
-graph is added (attached),
-removed (detached), or moved, respectively.
-</p>
-See the javadoc for more information <br>
-<div style="margin-left: 40px;"><a
- href="http://download.java.net/media/java3d/javadoc/1.4.0-latest/javax/media/j3d/GraphStructureChangeListener.html">http://download.java.net/media/java3d/javadoc/1.4.0-latest/javax/media/j3d/GraphStructureChangeListener.html</a><br>
-<a
- href="http://download.java.net/media/java3d/javadoc/1.4.0-latest/javax/media/j3d/VirtualUniverse.html">http://download.java.net/media/java3d/javadoc/1.4.0-latest/javax/media/j3d/VirtualUniverse.html</a><br>
-</div>
-&nbsp;&nbsp;&nbsp;
-<p><font color="gray">Page last updated &#8212;
-$Date$
-</font></p>
+<h2>Obsolete Page</h2>
+<p>This page is obsolete. Click <a
+ href="http://wiki.java.net/bin/view/Javadesktop/Java3DRoadmap">here</a>
+to go the Java 3D Roadmap page of the Java 3D Wiki.</p>
</body>
</html>
diff --git a/www/j3d1_4/lightweight-canvas3d.html b/www/j3d1_4/lightweight-canvas3d.html
index 86824f3..54d0945 100644
--- a/www/j3d1_4/lightweight-canvas3d.html
+++ b/www/j3d1_4/lightweight-canvas3d.html
@@ -3,28 +3,13 @@
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
- <title>Java 3D 1.4: Lightweight Canvas3D</title>
+ <title>Obsolete Page</title>
</head>
<body>
-<h2>Java&nbsp;3D<sup><font size="-2">TM</font></sup> 1.4:
-Lightweight Canvas3D</h2>
-<h3><span style="color: rgb(0, 153, 0);"><i>ROUGH DRAFT: This API
-is a Work in Progress</i></span></h3>
-<hr>
-<p>A possible feature under consideration for Java&nbsp;3D 1.4 is a
-lightweight JCanvas3D that is similar to
-JGLCanvas in JOGL. Adding this into core may be beyond the
-scope of 1.4. It probably can be done as a utility, although it
-may require some core changes.<span style="color: rgb(204, 0, 0);"></span></p>
-<p><span style="color: rgb(204, 0, 0);"></span></p>
-<p><span style="color: rgb(204, 0, 0);">Note: this feature will not
-happen
-without an someone from the community volunteering
-to drive it.</span></p>
-<p>More info here...
+<h2>Obsolete Page</h2>
+<p>This page is obsolete. Click <a
+ href="http://wiki.java.net/bin/view/Javadesktop/JCanvas3DNotes">here</a>
+to go the Java 3D Wiki page discussing JCanvas3D.<br>
</p>
-<p><font color="gray">Page last updated &#8212;
-$Date$
-</font></p>
</body>
</html>
diff --git a/www/j3d1_4/multipass.html b/www/j3d1_4/multipass.html
index 483adfb..4cdc828 100644
--- a/www/j3d1_4/multipass.html
+++ b/www/j3d1_4/multipass.html
@@ -3,33 +3,12 @@
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
- <title>Java 3D 1.5: Multipass Support</title>
+ <title>Obsolete Page</title>
</head>
<body>
-<h2>Java&nbsp;3D<sup><font size="-2">TM</font></sup> 1.5:
-Multipass Support</h2>
-<h3><span style="color: rgb(0, 153, 0);"><i>ROUGH DRAFT: This API
-is a Work in Progress</i></span></h3>
-<hr>
-<p>This page describes the proposed Multipass Support in Java&nbsp;3D
-1.5...
-</p>
-<p>The proposed API is:</p>
-<ul>
- <li>New classes</li>
- <ul>
- <pre>public class XXXXX extends YYYYY<br> method: setXxxxx()<br></pre>
- </ul>
- <li>New methods in existing classes:<br>
- </li>
- <ul>
- <pre>XXXXX<br> method: setXxxxx()<br></pre>
- </ul>
-</ul>
-<p>More info here...
-</p>
-<p><font color="gray">Page last updated &#8212;
-$Date$
-</font></p>
+<h2>Obsolete Page</h2>
+<p>This page is obsolete. Click <a
+ href="http://wiki.java.net/bin/view/Javadesktop/Java3DRoadmap">here</a>
+to go the Java 3D Roadmap page of the Java 3D Wiki.</p>
</body>
</html>
diff --git a/www/j3d1_4/picking.html b/www/j3d1_4/picking.html
index 3669d26..4cdc828 100644
--- a/www/j3d1_4/picking.html
+++ b/www/j3d1_4/picking.html
@@ -3,200 +3,12 @@
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
- <title>Java 3D 1.4: Picking Changes</title>
+ <title>Obsolete Page</title>
</head>
<body>
-<h2>Java&nbsp;3D<sup><font size="-2">TM</font></sup> 1.4:
-Picking Changes</h2>
-<p>This page describes the proposed picking changes in Java 3D 1.4. The
-main motivation is to improve picking performance. It eliminates the
-need to rely on the picking utility for extra pick information, such as
-the
-color, normal and texture coordinates of the intersection points. This
-information will be returned, by the new core picking APIs, in a newly
-created PickInfo class.<br>
-&nbsp;
-<br>
-The proposed API are :<br>
-</p>
-<ul>
- <li>New methods in existing classes:&nbsp;&nbsp; <br>
- </li>
-</ul>
-<h4 style="font-weight: bold; margin-left: 40px;"><span
- style="font-weight: normal;">The following 4 methods will be added to <a
- href="http://download.java.net/media/java3d/javadoc/1.4.0-latest/javax/media/j3d/Locale.html#pickAll%28int,%20int,%20javax.media.j3d.PickShape%29"><span
- style="font-weight: bold;">Locale</span></a> and <a
- href="http://download.java.net/media/java3d/javadoc/1.4.0-latest/javax/media/j3d/BranchGroup.html#pickAll%28int,%20int,%20javax.media.j3d.PickShape%29"><span
- style="font-weight: bold;">BranchGroup</span></a> :</span><span
- style="font-weight: normal;">&nbsp;
-</span><br>
-</h4>
-<div style="font-weight: bold; margin-left: 80px;"><span
- style="font-weight: normal;">method: public
-PickInfo[] pickAll(
-int mode, int flags, PickShape pickShape )</span><br>
-<span style="font-weight: normal;">method: public PickInfo[]
-pickAllSorted( int mode, int flags, PickShape pickShape )</span><br>
-<span style="font-weight: normal;">method: public PickInfo pickClosest(
-int mode, int flags, PickShape pickShape )</span><br>
-<span style="font-weight: normal;">method: public PickInfo pickAny( int
-mode, int flags, PickShape pickShape )</span><br>
-</div>
-<p style="margin-left: 40px;">
-Where <br>
-</p>
-<div style="margin-left: 80px;">mode
-is an enum of [ Bounds, Geometry ] <br>
-flags
-is a mask indicating which components are present in each returned
-PickInfo object. This is specified as one or more individual flags that
-are bitwise "OR"ed together to describe the returned per PickInfo data.
-<br>
-The flags include: <br>
-<code>SCENEGRAPHPATH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp;
-- request for computed SceneGraphPath. &nbsp; </code>&nbsp; <br>
-<code>NODE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp; - request
-for computed intersected Node.</code><br>
-<code>LOCAL_TO_VWORLD &nbsp;
-&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;
-&nbsp; - request for computed local to virtual world transform.</code><br>
-<code>CLOSEST_INTERSECTION_POINT &nbsp; -
-request for
-closest intersection point.</code><br>
-<code>CLOSEST_DISTANCE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;
--
-request for the closest distance of the intersection.</code><br>
-<code>CLOSEST_GEOM_INFO&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;
-&nbsp;&nbsp; - request for only the closest intersection geometry
-information.</code><code><br>
-ALL_GEOM_INFO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&nbsp; &nbsp;&nbsp;&nbsp;
-- request for all intersection geometry information. &nbsp;</code>&nbsp;&nbsp;
-&nbsp;<br>
-</div>
-<div style="margin-left: 40px;">
-NOTES : <br>
-</div>
-<div style="margin-left: 80px;">If <code>CLOSEST_INTERSECTION_POINT</code>
-is not set, PickInfo.closestIntersectionPoint is set to null.<br>
-If <code>CLOSEST_GEOM_INFO</code> is
-set, PickInfo.intersectionInfos is of length 1, and
-PickInfo.intersectionInfos[0]
-contains the
-information of the closest pick.<br>
-If <code>ALL_GEOM_INFO</code> is set, PickInfo.intersectionInfos
-contains all intersections of the
-pickable node
-in sorted order.<br>
-If both <code>CLOSEST_GEOM_INFO</code>
-and
-<code>ALL_GEOM_INFO</code> are not set, PickInfo.intersectionInfos is
-set to null.<br>
-An<span style="font-style: italic;"> </span>IllegalArgumentException<span
- style="font-style: italic;"></span>
-is thrown if&nbsp;<span style="font-style: italic;"> </span>both<span
- style="font-style: italic;"> </span><code>CLOSEST_GEOM_INFO</code>
-and
-<code>ALL_GEOM_INFO</code> are set.<br>
-</div>
-<ul>
- <li>New classes</li>
-</ul>
-<div style="margin-left: 40px;">public class <a
- href="http://download.java.net/media/java3d/javadoc/1.4.0-latest/javax/media/j3d/PickInfo.html"><span
- style="font-weight: bold;">PickInfo</span></a> extends
-Object&nbsp;&nbsp;&nbsp;
-</div>
-<p style="margin-left: 80px;"><span style="font-style: italic;">/**
-Retrieves
-the reference to the SceneGraphPath in this PickInfo object. */</span><br>
-method: public
-SceneGraphPath getSceneGraphPath()<br>
-</p>
-<p style="margin-left: 80px;"><span style="font-style: italic;">/**
-Retrieves
-the reference to the picked node, either a Shape3D or a Morph, in
-this PickInfo object. */</span><br>
-method: public Node
-getNode()<br>
-<br>
-<span style="font-style: italic;">/** Retrieves
-the reference to the LocalToVworld transform of the picked node in
-this PickInfo object. */</span><br>
-method: public
-Transform3D getLocalToVWorld()<br>
-</p>
-<p style="margin-left: 80px;"><span style="font-style: italic;">/**
-Retrieves
-the reference to the closest intersection point in this PickInfo
-object. */</span><br>
-method: public
-Point3d getClosestIntersectionPoint()<br>
-</p>
-<p style="margin-left: 80px;"><span style="font-style: italic;">/**
-Retrieves
-the distance between the start point of the pickShape and the
-closest intersection point. */</span><br>
-method: public
-double getClosestDistance()<br>
-</p>
-<p style="margin-left: 80px;"><span style="font-style: italic;">/**
-Retrieves
-the reference to the array of intersection results in this PickInfo
-object. */</span><br>
-method: public
-IntersectionInfo[] getIntersectionInfos()<br>
-</p>
-<p style="margin-left: 40px;">public class
-<a
- href="http://download.java.net/media/java3d/javadoc/1.4.0-latest/javax/media/j3d/PickInfo.IntersectionInfo.html"><span
- style="font-weight: bold;">PickInfo.IntersectionInfo</span></a>
-extends Object&nbsp; ( inner
-class )<br>
-</p>
-<div style="margin-left: 80px;"><span style="font-style: italic;">/**
-Retrieves
-the index to the intersected geometry in the picked node, either a
-Shape3D or Morph. */</span><br>
-method: public
-int getGeometryIndex()&nbsp; <br>
-<br>
-<span style="font-style: italic;">/** Retrieves
-the reference to the intersected geometry in the picked object,
-either a Shape3D or Morph. */</span><br>
-method: public
-Geometry getGeometry() <span style="font-style: italic;"></span><br>
-<br>
-<span style="font-style: italic;">/** Retrieves
-the reference to the intersection point of the picked geometry in this
-IntersectionInfo object. */</span><br>
-method: public
-Point3d getIntersectionPoint()<br>
-<br>
-<span style="font-style: italic;">/**
-Retrieves
-the distance between the start point of the pickShape and the&nbsp;
-intersection point. */</span><br>
-method: public
-double getDistance()<br>
-<br>
-<span style="font-style: italic;">/** Retrieves
-the vertex indices of the intersected primitive in the geometry. */</span><br>
-method: public int[] getVertexIndices()<br>
-<br>
-<span style="font-style: italic;">/** Retrieves
-the interpolation weights for each of the verticies of the&nbsp;
-intersected primitive. */</span><br>
-method: public
-float[] getWeights()<br>
-<br>
-</div>
-<p><font color="gray">Page last updated &#8212;
-$Date$
-</font></p>
+<h2>Obsolete Page</h2>
+<p>This page is obsolete. Click <a
+ href="http://wiki.java.net/bin/view/Javadesktop/Java3DRoadmap">here</a>
+to go the Java 3D Roadmap page of the Java 3D Wiki.</p>
</body>
</html>
diff --git a/www/j3d1_4/render-texture.html b/www/j3d1_4/render-texture.html
index 42d74ab..b94723a 100644
--- a/www/j3d1_4/render-texture.html
+++ b/www/j3d1_4/render-texture.html
@@ -3,78 +3,13 @@
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
- <title>Java 3D 1.5: Render To Texture</title>
+ <title>Obsolete Page</title>
</head>
<body>
-<h2>Java&nbsp;3D<sup><font size="-2">TM</font></sup> 1.5:
-Render To Texture</h2>
-<h3><span style="color: rgb(0, 153, 0);"><i>ROUGH DRAFT: This API
-is a Work in Progress</i></span></h3>
-<hr>
-<p>This page describes the possible render-to-texture feature in
-Java&nbsp;3D 1.5. The main idea is to create new
-"render-to-texture" subclasses of Canvas3D and View that would render
-into a texture that could then be used in a scene graph to render into
-an ordinary on-screen (or off-screen) Canvas3D. We will either need to
-create special "rendered" subclasses of Texture (e.g.,
-RenderedTexture2D), or add a mode flag to the existing texture classes.
-The former is cleaner from an API point of view, but the latter is more
-flexible (e.g., it would allow some mipmap levels of a Texture or faces
-of a TextureCubeMap to be generated by rendering and others to be
-specified via an image).<br>
+<h2>Obsolete Page</h2>
+<p>This page is obsolete. Click <a
+ href="http://wiki.java.net/bin/view/Javadesktop/Java3DRenderToTexture">here</a>
+to go the Java 3D Wiki page discussing Render-to-Texture.<br>
</p>
-<p>NOTES:<br>
-</p>
-<ul>
- <li>A TextureView is rendered when any View that references a scene
-graph containing its RenderedTexture object is rendered. The ordinary
-View is said to be <em>dependent</em> on the TextureView.</li>
- <li>Each TextureView is rendered before its <em>dependent</em>
-View(s).<br>
- </li>
- <li>RenderedTexture objects cannot be in a scene graph that is
-rendered by a TextureView. Violating this will lead to undefined
-results. We may want to consider relaxing this restriction to allow for
-cascading render-to-texture operations. If we do relax this, we may
-need to provide a way for the application to specify an ordering of
-TextureViews (determining the dependency graph would be difficult).<br>
- </li>
- <li>To make it easier for an app to comply with the above, we will
-add a new feature to View: a boolean
-attribute indicating whether to render <strong><em>only</em></strong>
-to nodes under a ViewSpecificGroup. This flag is false by default for
-an ordinary View and true by default for a TextureView.</li>
-</ul>
-<p>The proposed API is:</p>
-<ul>
- <li>New classes</li>
- <ul>
- <pre>public class TextureView extends View<br> method: setXxxxx() // Any methods here?<br><br>public class TextureCanvas3D extends Canvas3D<br> method: setRenderedTexture(RenderedTexture) // or should this be immutable?<br> method: setLevel(int level)<br> method: setFace(int face)<br> // override lots of Canvas-related methods and throw UnimplementedException<br><br>public class RenderedTexture extends Texture<br> method: setXxxxx() // Any methods here?<br><br>public class RenderedTexture2D extends RenderedTexture<br> method: setXxxxx() // Any methods here?<br><br>public class RenderedTexture3D extends RenderedTexture<br> method: setXxxxx() // Any methods here?<br><br>public class RenderedTextureCubeMap extends RenderedTexture<br> method: setXxxxx() // Any methods here?<br></pre>
- </ul>
- <li>New methods in existing classes:<br>
- </li>
- <ul>
- <pre>View<br> method: setViewSpecificGroupOnly(boolean)<br></pre>
- </ul>
-</ul>
-<p>Issues:
-</p>
-<ol>
- <li>Can the resulting image be read back to the application?<br>
- <span style="font-style: italic;">[we don't plan to allow this]</span><br>
- </li>
- <li>What is the best way to ensure that there is a valid source of
-all mipmap levels (and all faces of a cube-map)?</li>
- <li>Should RenderedTexture be a mode or a subclass?<span
- style="font-style: italic;"><br>
-[currently proposed to be a subclass]</span></li>
- <li>Since this feature encourages using implicit mipmap generation,
-we need to file an RFE to implement implicit mipmap generation using
-OpenGL HW mipmap generation.<br>
- </li>
-</ol>
-<p><font color="gray">Page last updated &#8212;
-$Date$
-</font></p>
</body>
</html>
diff --git a/www/j3d1_4/shaders.html b/www/j3d1_4/shaders.html
index 5a3d6e0..4cdc828 100644
--- a/www/j3d1_4/shaders.html
+++ b/www/j3d1_4/shaders.html
@@ -3,182 +3,12 @@
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
- <title>Java 3D 1.4: Programmable Shaders</title>
+ <title>Obsolete Page</title>
</head>
<body>
-<h2>Java&nbsp;3D<sup><font size="-2">TM</font></sup> 1.4:
-Programmable Shaders</h2>
-<p>This is the latest draft of the proposed Java&nbsp;3D<sup><font
- size="-2">TM</font></sup>
-1.4 API changes for programmable shaders.<br>
-</p>
-<p>We have created a thread on the Java&nbsp;3D discussion forum for
-discussing <a
- href="http://www.javadesktop.org/forums/thread.jspa?threadID=5056"
- target="_blank">Java&nbsp;3D Programmable Shaders</a>. Feel free to
-post your comments on our ideas, or post some ideas of your own.
-</p>
-<h4>Class Hierarchy for Shader Objects</h4>
-<p>The proposed class hierarchy for programmable shaders
-in Java&nbsp;3D is:</p>
-<ul>
- <li>Abstract shader base classes:</li>
- <ul>
- <pre>public abstract class ShaderProgram extends NodeComponent<br>public abstract class Shader extends NodeComponent<br></pre>
- </ul>
- <li>Concrete GLSL shader classes:</li>
- <ul>
- <pre>public class GLSLShaderProgram extends ShaderProgram<br> method: {add/remove/get}Shader(GLSLShader) // set of shader objs<br> method: {add/remove}ErrorListener(GLSLErrorListener)<br> method: validate(Canvas3D) ???<br><br>public abstract class GLSLShader extends Shader<br> public class GLSLVertexShader extends GLSLShader<br> method: set/getShaderSource(String)<br> method: validate(Canvas3D) ???<br> public class GLSLFragmentShader extends GLSLShader<br> method: set/getShaderSource(String)<br> method: validate(Canvas3D) ???<br></pre>
- </ul>
- <li>Concrete Cg shader classes:</li>
- <ul>
- <pre>public class CgShaderProgram extends ShaderProgram<br> method: {set/get}VertexShader(CgVertexShader)<br> method: {set/get}FragmentShader(CgFramentShader)<br> method: {add/remove}ErrorListener(CgErrorListener)<br> method: validate(Canvas3D) ???<br><br>public abstract class CgShader extends Shader<br> public class CgVertexShader extends CgShader<br> method: set/getShaderSource(String)<br> method: validate(Canvas3D) ???<br> public class CgFragmentShader extends CgShader<br> method: set/getShaderSource(String)<br> method: validate(Canvas3D) ???<br></pre>
- </ul>
- <li>New ShaderAppearance class:</li>
- <ul>
- <pre>public class ShaderAppearance extends Appearance<br> method: set/getShaderProgram(ShaderProgram)<br> method: set/getShaderAttributeSet(ShaderAttributeSet)<br></pre>
- </ul>
- <li>New ShaderAttributeSet class:</li>
- <ul>
- <pre>public class ShaderAttributeSet extends NodeComponent<br> method: put/get(ShaderAttribute)<br> ...<br></pre>
- </ul>
-</ul>
-<p>Click on the following link for a current look at the <a
- href="http://download.java.net/media/java3d/javadoc/1.4.0-latest/index.html">javadoc-generated
-API definitions</a> for the proposed 1.4 API.
-</p>
-<h4>Example Usage</h4>
-<p>This is an example code excerpt showing how one might use the new
-programmable shader API in a Java&nbsp;3D program.
-</p>
-<ul>
- <pre>String vertexShaderFile = "my-vertex-shader-file-name";<br>String fragmentShaderFile = "my-fragment-shader-file-name";<br>String vertexShaderSource;<br>String fragmentShaderSource;<br><br>// Read GLSL vertex and fragment shader source code from text files<br>vertexShaderSource = StringIO.readFully(vertexShaderFile);<br>fragmentShaderSource = StringIO.readFully(fragmentShaderSource);<br><br>// Create GLSL vertex and fragment shader objects using the given source code<br>GLSLVertexShader vertexShader = new GLSLVertexShader(vertexShaderSource);<br>GLSLFragmentShader fragmentShader = new GLSLFragmentShader(fragmentShaderSource);<br><br>// Create the GLSL shader program object and attach the vertex and<br>// fragment shader objects; add an error listener<br>GLSLShaderProgram shaderProgram = new GLSLShaderProgram();<br>shaderProgram.setVertexShader(vertexShader);<br>shaderProgram.setFragmentShader(fragmentShader);<br>shaderProgram.addErrorListener(myGLSLErrorListener);<br><br>// Use GLSL shader program object in appearance<br>shaderAppearance.setShaderProgram(shaderProgram);<br></pre>
-</ul>
-<h4>Shader Parameters</h4>
-<p>Programmable shaders define two types of parameters: uniform and
-varying. As the names imply, uniform parameters are constant (within a
-primitive), while varying parameters can vary on per-vertex or
-per-fragment basis.
-</p>
-<ol>
- <li><b>Uniform parameters</b> (attributes) are those parameters whose
-value is constant during the rendering of a primitive. Their values
-may change from primitive to primitive, but are constant for each
-vertex (for vertex shaders) or fragment (for fragment shaders) of a
-single primitive. Examples of uniform parameters include a
-transformation matrix, a texture map, lights, lookup tables,
-etc.<br>
- <br>
-We have created a new ShaderAttributeSet for allowing applications to
-specify uniform shader attributes. There are two ways in which values
-can be specified for uniform attributes: explicitly, by providing a
-value; and implicitly, by defining a binding between a Java&nbsp;3D system
-attribute and a uniform attribute. This functionality is provided by
-two subclasses of ShaderAttribute: ShaderAttributeObject, which is
-used to specify explicitly defined attributes; and
-ShaderAttributeBinding, which is used to specify implicitly defined,
-automatically tracked attributes. See the javadoc for the new <a
- href="http://download.java.net/media/java3d/javadoc/1.4.0-latest/javax/media/j3d/ShaderAttributeSet.html">ShaderAttributeSet</a>
-and <a
- href="http://download.java.net/media/java3d/javadoc/1.4.0-latest/javax/media/j3d/ShaderAttribute.html">ShaderAttribute</a>
-classes for more details.<br>
- <br>
- <b>Issues</b><br>
- <ul>
- <li>Should j3dAttrName be specified as a type-safe enum or object
-instead of a String?
- <ul>
- <font color="gray"><li>No; we will use a String</li>
- </font>
- </ul>
- </li>
- <li>How do we handle passing arrays to the shader, especially for
-system parameters such as lights? One possibility is:
- <ul>
-"var" - scalar variable "var"<br>
-"arr[0]" - array element 0 of "arr"<br>
-"arr[1,3]" - subarray composed of elements 1 through 3 of "arr"<br>
-"arr[]" - entire array "arr"<br>
- </ul>
-Alternatively, an object with a string or type-safe enum, a state
-(scalar, array element, subarray, or entire array), and indices (as
-needed).
- <ul>
- <font color="gray"><li>TBD, but since they will be String
-objects, we will probably
-do something like the first suggestion</li>
- </font>
- </ul>
- </li>
- </ul>
- <br>
- <b>Automatic variables</b><br>
-Depending on the shading language (and profile) being used, several
-Java&nbsp;3D state attributes are automatically made available to the
-shader program as pre-defined uniform attributes. The application
-doesn't need to do anything to pass these attributes in to the shader
-program. The implementation of each shader language (e.g., Cg, GLSL)
-defines its own mapping from Java&nbsp;3D attribute to uniform
-variable name.<br>
- <br>
-A partial list of Java&nbsp;3D attributes that are mapped to shader
-attributes follows: </li>
- <br>
- <table style="text-align: left;" border="1" cellspacing="2"
- cellpadding="2">
- <tbody>
- <tr>
- <td style="vertical-align: top; text-decoration: underline;">Java&nbsp;3D
-Attribute<br>
- </td>
- <td style="vertical-align: top; text-decoration: underline;">Cg
-shader variable<br>
- </td>
- <td style="vertical-align: top; text-decoration: underline;">GLSL
-shader variable<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">ModelViewProjection<br>
- </td>
- <td style="vertical-align: top;">glstate.matrix.mvp<br>
- </td>
- <td style="vertical-align: top;">gl_ModelViewProjectionMatrix<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">Light[<i>n</i>] pos<br>
- </td>
- <td style="vertical-align: top;">glstate.light[<i>n</i>].position
- </td>
- <td style="vertical-align: top;">gl_LightSource[<i>n</i>].position
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">...<br>
- </td>
- <td style="vertical-align: top;">...<br>
- </td>
- <td style="vertical-align: top;">...<br>
- </td>
- </tr>
- </tbody>
- </table>
- <br>
- <li><b>Varying parameters</b> are those parameters that are specified
-as per-vertex attributes. They are are interpolated across a primitive
-similarly to colors and texture coordinates in the fixed function
-pipeline.<br>
- <br>
-We need additional API to allow applications to pass in per-vertex
-varying parameters...<br>
-TODO: Finish this...<br>
- </li>
-</ol>
-<p>TODO: more info here.
-</p>
-<p><font color="gray">Page last updated &#8212;
-$Date$
-</font></p>
+<h2>Obsolete Page</h2>
+<p>This page is obsolete. Click <a
+ href="http://wiki.java.net/bin/view/Javadesktop/Java3DRoadmap">here</a>
+to go the Java 3D Roadmap page of the Java 3D Wiki.</p>
</body>
</html>
diff --git a/www/j3d1_4/stencil.html b/www/j3d1_4/stencil.html
index e627521..4cdc828 100644
--- a/www/j3d1_4/stencil.html
+++ b/www/j3d1_4/stencil.html
@@ -3,64 +3,12 @@
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
- <title>Java 3D 1.4: Stencil Buffer</title>
+ <title>Obsolete Page</title>
</head>
<body>
-<h2>Java&nbsp;3D<sup><font size="-2">TM</font></sup> 1.4:
-Stencil Buffer</h2>
-<p><span style="color: rgb(204, 0, 0);"><i>NOTE: THIS DOES NOT INCLUDE
-ANY MULTIPASS SUPPORT&nbsp;</i></span>
-</p>
-<p>This page describes the proposed API changes for stencil buffer
-support in Java&nbsp;3D
-1.4. The GraphicsConfigTemplate3D class is used to find a
-GraphicsConfiguration object with the desired attributes. These
-attributes include number of color bits (red, green, and blue size),
-depth buffer size, and whether or not double-buffering, stereo, or
-antialiasing is needed. The GraphicsConfiguration is used in turn used
-to create a Canvas3D into which Java&nbsp;3D can render.<br>
-</p>
-<p>We propose to add a
-new stencilSize attribute to GraphicsConfigTemplate3D that will allow
-an application to create a Canvas3D (on-screen or off-screen) with a
-stencil buffer. We also propose to add new attributes to the
-RenderingAttributes object that will allow an application to control
-the stencil test and update. These will work in a similar manner to the
-equivalent OpenGL methods. Note that since multipass support is not yet
-available, applications wishing to use stencil will need to make use of
-OrderedGroup (or use mixed-mode / immediate-mode rendering).<br>
-</p>
-<p>See the new javadoc for more information: <a
- href="http://download.java.net/media/java3d/javadoc/1.4.0-latest/javax/media/j3d/GraphicsConfigTemplate3D.html#setStencilSize%28int%29">GraphicsConfigTemplate3D.setStencilSize</a>,
-<a
- href="http://download.java.net/media/java3d/javadoc/1.4.0-latest/javax/media/j3d/RenderingAttributes.html">RenderingAttributes</a>.
-</p>
-<p>The proposed API changes are:<br>
-</p>
-<ul>
- <li>New fields and set methods in existing classes (will also add get
-methods):<br>
- </li>
- <ul>
- <pre>GraphicsConfigTemplate3D<br> method: setStencilSize(int) // default=0<br><br>RenderingAttributes<br> fields: ALLOW_STENCIL_ATTRIBUTES_READ/WRITE<br> fields: STENCIL_KEEP, STENCIL_ZERO, STENCIL_REPLACE,<br> fields: STENCIL_INCR, STENCIL_DECR, STENCIL_INVERT<br> method: setStencilEnable(boolean enable)<br> method: setStencilOp(int fail, int zfail, int zpass)<br> method: setStencilFunction(int func, int ref, int mask)<br> method: setStencilWriteMask(int mask)<br></pre>
- </ul>
-</ul>
-<p>Issues:<br>
-</p>
-<ol>
- <li>How/when is the stencil buffer cleared? Implicitly at the start
-of a frame? Explicitly? The latter seems problematic.<br>
- <span style="font-style: italic;">[Current plan is to clear
-implicitly
-at the start of each frame and not provide explicit control]</span><br>
- </li>
- <li>Does the OpenGL stencil functionality map cleanly to DirectX? If
-not, then stencil support may not be available for the D3D version of
-Java&nbsp;3D.<br>
- </li>
-</ol>
-<p><font color="gray">Page last updated &#8212;
-$Date$
-</font></p>
+<h2>Obsolete Page</h2>
+<p>This page is obsolete. Click <a
+ href="http://wiki.java.net/bin/view/Javadesktop/Java3DRoadmap">here</a>
+to go the Java 3D Roadmap page of the Java 3D Wiki.</p>
</body>
</html>
diff --git a/www/j3d1_4/vsg-op.html b/www/j3d1_4/vsg-op.html
index 64db9ad..5047d16 100644
--- a/www/j3d1_4/vsg-op.html
+++ b/www/j3d1_4/vsg-op.html
@@ -3,78 +3,13 @@
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
- <title>Java 3D 1.4: ViewSpecificGroup View Set Operation</title>
+ <title>Obsolete Page</title>
</head>
<body>
-<h2>Java&nbsp;3D<sup><font size="-2">TM</font></sup> 1.4:
-ViewSpecificGroup View Set Operation<br>
-</h2>
-<p>This page describes a possible enhancement to Java&nbsp;3D 1.4 to
-allow the application to specify the operation used to compute the set
-of views for nested
-ViewSpecificGroup (VSG) nodes. Currently, the set of views used to
-render descendants of nested VSG nodes is the intersection of the set
-of views
-inherited from its
-parent(s) and the set of views specified in the child VSG node. We
-propose to
-add an attribute to VSG such that the resulting set of views is either
-as the intersection or the union of the set of views inherited from its
-parent(s) and the set of views specified in the child VSG node, or
-simply the set of views specified in the child VSG node. More formally,
-we plan to define three modes as follows:
+<h2>Obsolete Page</h2>
+<p>This page is obsolete. Click <a
+ href="http://wiki.java.net/bin/view/Javadesktop/ViewSpecificGroupOp">here</a>
+to go the Java 3D Wiki page discussing ViewSpecificGroupOp.<br>
</p>
-<ul>
- <table border="0" cellspacing="2" cellpadding="2">
- <tbody>
- <tr>
- <td><code>INTERSECT</code></td>
- <td><code>:</code></td>
- <td><code>viewSet[n]
-=
-viewSet[n-1] &#8745; VSG[n].viewSet</code></td>
- </tr>
- <tr>
- <td><code>UNION</code></td>
- <td><code>:</code></td>
- <td><code>viewSet[n]
-=
-viewSet[n-1] &#8746; VSG[n].viewSet</code></td>
- </tr>
- <tr>
- <td><code>REPLACE</code></td>
- <td><code>:</code></td>
- <td><code>viewSet[n]
-=
-VSG[n].viewSet</code> </td>
- </tr>
- </tbody>
- </table>
- <br>
-where <code>n</code> is the nesting level (the number of ancestor VSG
-nodes in the
-scene graph path).<br>
-The default mode is <code>INTERSECT</code>.
-</ul>
-<p>Note that the set of views used to render descendants of a top-level
-VSG node (that is, a VSG node that is not itself a descendant of
-another VSG node) is the set of views specified in the VSG node,
-regardless of the mode. More
-formally: <code>viewSet[0]&nbsp;=&nbsp;VSG[0].viewSet</code> for all
-values of <code>viewSetOp</code>.<br>
-</p>
-<p>The proposed API is:</p>
-<ul>
- <li>New methods in existing classes:<br>
- </li>
- <ul>
- <pre>ViewSpecificGroup<br> method: setViewSetOp(int op) // one of: INTERSECT, UNION, REPLACE<br></pre>
- </ul>
-</ul>
-<ol>
-</ol>
-<p><font color="gray">Page last updated &#8212;
-$Date$
-</font></p>
</body>
</html>