diff options
-rw-r--r-- | www/j3d1_4/graph-change-listener.html | 31 | ||||
-rw-r--r-- | www/j3d1_4/lightweight-canvas3d.html | 25 | ||||
-rw-r--r-- | www/j3d1_4/multipass.html | 31 | ||||
-rw-r--r-- | www/j3d1_4/picking.html | 198 | ||||
-rw-r--r-- | www/j3d1_4/render-texture.html | 75 | ||||
-rw-r--r-- | www/j3d1_4/shaders.html | 180 | ||||
-rw-r--r-- | www/j3d1_4/stencil.html | 62 | ||||
-rw-r--r-- | www/j3d1_4/vsg-op.html | 75 |
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 3D<sup><font size="-2">TM</font></sup> 1.4: -Graph Structure Change Listener</h2> -<hr> -<p>This page describes a proposed Java 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>, <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> - -<p><font color="gray">Page last updated — -$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 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 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 — -$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 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 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 — -$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 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> - -<br> -The proposed API are :<br> -</p> -<ul> - <li>New methods in existing classes: <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;"> -</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 - -- request for computed SceneGraphPath. </code> <br> -<code>NODE - - request -for computed intersected Node.</code><br> -<code>LOCAL_TO_VWORLD - - - request for computed local to virtual world transform.</code><br> -<code>CLOSEST_INTERSECTION_POINT - -request for -closest intersection point.</code><br> -<code>CLOSEST_DISTANCE - -- -request for the closest distance of the intersection.</code><br> -<code>CLOSEST_GEOM_INFO - - request for only the closest intersection geometry -information.</code><code><br> -ALL_GEOM_INFO - -- request for all intersection geometry information. </code> - <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 <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 -</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 ( 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() <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 -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 -intersected primitive. */</span><br> -method: public -float[] getWeights()<br> -<br> -</div> -<p><font color="gray">Page last updated — -$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 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 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 — -$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 3D<sup><font size="-2">TM</font></sup> 1.4: -Programmable Shaders</h2> -<p>This is the latest draft of the proposed Java 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 3D discussion forum for -discussing <a - href="http://www.javadesktop.org/forums/thread.jspa?threadID=5056" - target="_blank">Java 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 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 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 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 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 3D attribute to uniform -variable name.<br> - <br> -A partial list of Java 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 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 — -$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 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 </i></span> -</p> -<p>This page describes the proposed API changes for stencil buffer -support in Java 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 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 3D.<br> - </li> -</ol> -<p><font color="gray">Page last updated — -$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 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 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] ∩ VSG[n].viewSet</code></td> - </tr> - <tr> - <td><code>UNION</code></td> - <td><code>:</code></td> - <td><code>viewSet[n] -= -viewSet[n-1] ∪ 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] = 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 — -$Date$ -</font></p> </body> </html> |