From e4a3b1190ac1ccb5d20c9127ad8ef710a83c0b66 Mon Sep 17 00:00:00 2001
From: Kevin Rushforth
This is another feature...
+We propose 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 add/removeGraphChangeListener(
GraphChangeListener
)
+methods to VirtualUniverse
and a new GraphChangeListener
+interface with graphAdded
, graphRemoved
,
+and graphMoved
methods that get called when any branch
+graph is added (attached),
+removed (detached), or moved, respectively.
+
This is a list of miscellaneous features that we propose to add to the API.
get/setName(String)
+to SceneGraphObject
classThis is a list of miscellaneous features that we propose to
+deprecate in
+the API.
+
WakeupOnCollision{Entry,Exit,Movement}
+(misnamed, not useful for most applications)CompressedGeometry
(no HW support, lack of industry
+acceptance)WakeupOnAWTBehavior
(listeners + WakeupOnBehaviorPost
+is more robust)Sensor
prediction (has never been implemented)Note that none of these features will actually be removed. It
+instead
+reflects a decrease of emphasis on these features. While they should
+continue
+to function normally, no additional effort is likely to be put into
+them (for example, compressed geometry will not be supported with
+programmable shaders). This action paves the way to remove them from a
+future major release (e.g., a 2.0 release).
+
This list of medium priority features is under discussion for possible inclusion @@ -45,7 +80,8 @@ into the 1.4 API.
Something...
+
Something
+goes here (maybe)...
This is a list of miscellaneous features that are being considered
@@ -53,9 +89,26 @@ for addition to
the API.
This is a list of miscellaneous features that are being considered
+for deprecation in
+the API.
+
Billboard
(use OrientedShape3D
instead)SharedGroup
(many bugs, very difficult to
+implement
+efficiently)This is in addition to the API being proposed for deprecation in
+section I.
+
Here is an unprioritized list of possible features under consideration for a future (e.g., 1.5/2.0) @@ -64,6 +117,9 @@ version of the Java 3D API.
Page last updated —
$Date$
diff --git a/www/j3d1_4/shaders.html b/www/j3d1_4/shaders.html
index cf6c91e..fadfde0 100644
--- a/www/j3d1_4/shaders.html
+++ b/www/j3d1_4/shaders.html
@@ -72,30 +72,21 @@ public abstract class CgShader extends Shader
Click on the following link for a preliminary look at the Click on the following link for a current look at the javadoc-generated
API definitions for the proposed 1.4 API.
NOTE: This section is under construction. For the most up to date
-API definition, please see the javadoc for the new ShaderAttributes
-class.
- 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
@@ -152,29 +137,31 @@ 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.
public class ShaderAppearance extends Appearance
method: set/getShaderProgram(ShaderProgram)
- method: set/getShaderAttributes(ShaderAttributes)
+ method: set/getShaderAttributeSet(ShaderAttributeSet)
-
-
public class SystemAttributes extends NodeComponent
- method: put/getAttribute(String,Object)
- method: putAllAttributes(Map)
- method: removeAttribute(String)
- method: clearAttributes()
- method: getAttributesMap()
-
- method: put/getSystemAttribute(String,String)
- method: putAllSystemAttributes(Map)
- method: removeSystemAttribute(String)
- method: clearSystemAttributes()
- method: getSystemAttributesMap()
+
public class ShaderAttributeSet extends NodeComponent
+ method: put/get(ShaderAttribute)
+ ...
-Shader Parameters
-
-
-
-We have created a new ShaderAttributes object with following new attributes:
-
-
-
-
-See the javadoc for the new ShaderAttributes
-class for more details.
+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 ShaderAttributeSet
+and ShaderAttribute
+classes for more details.
+
Issues
-
Alternatively, an object with a string or type-safe enum, a state
(scalar, array element, subarray, or entire array), and indices (as
needed).
-
+
"arr[]" - entire array "arr"
Automatic variables
-Several Java 3D state attributes are automatically available
-to the shader program as pre-defined uniform parameters. The
-application doesn't need to do anything to pass these parameters 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.
+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.
+
A partial list of Java 3D attributes that are mapped to shader
attributes follows:
--
cgit v1.2.3