1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
<title>Proposed Java 3D 1.4 API Changes</title>
</head>
<body>
<h2>Proposed Java 3D<sup><font size="-2">TM</font></sup> 1.4 API
Changes</h2>
<p>This page highlights the proposed changes to the 1.4 version of the
Java 3D<sup><font size="-2">TM</font></sup> API. For a list of new
classes methods, etc., see the <a href="api-changes.html">List of
Proposed Java 3D 1.4 API
Changes</a>. Click
<a href="http://javadesktop.org/java3d/javadoc/1.4.0-latest/index.html">here</a>
for the
<a href="http://javadesktop.org/java3d/javadoc/1.4.0-latest/index.html">latest
javadocs for the proposed 1.4 API</a> (built from the dev-1_4 branch).
A list of other <a href="improvements.html">possible improvements to
Java 3D version 1.4</a> is also available.
</p>
<h3>I. High Priority Features</h3>
<p>This list of high priority features will almost certainly make it
into the 1.4 API.
</p>
<h4>1. Proposed API to be added</h4>
<p>This is a list of features that we propose to add to
the API.<br>
</p>
<ul>
<li><a href="shaders.html">Programmable
Shaders</a></li>
<li><a href="graph-change-listener.html">Scene graph structure change
listeners</a></li>
<li><a
href="http://javadesktop.org/java3d/javadoc/1.4.0-latest/javax/media/j3d/SceneGraphObject.html#setName%28java.lang.String%29">Name
string</a> for all scene graph objects: add public <a
href="http://javadesktop.org/java3d/javadoc/1.4.0-latest/javax/media/j3d/SceneGraphObject.html#setName%28java.lang.String%29"><code>get/setName(String)</code></a>
to <code>SceneGraphObject</code>
class</li>
<li>New <a
href="http://javadesktop.org/java3d/javadoc/1.4.0-latest/javax/media/j3d/Node.html#ALLOW_PARENT_READ"><code>ALLOW_PARENT_READ</code></a>
capability bit in <code>Node</code>
class that will allow <a
href="http://javadesktop.org/java3d/javadoc/1.4.0-latest/javax/media/j3d/Node.html#getParent%28%29"><code>getParent()</code></a>
to be called on live/compiled scene graph</li>
<li>Ability to get the locale from a live node: add public <code>getLocale()</code>
method and <code>ALLOW_LOCALE_READ</code> capability bit to <code>Node</code>
class<br>
</li>
<li>Additional blending functions, for example: <code>BLEND_SRC_COLOR</code>,
<code>BLEND_ONE_MINUS_SRC_COLOR</code>, <code>BLEND_DST_COLOR</code>,
<code>BLEND_ONE_MINUS_DST_COLOR</code>, etc.</li>
<li><a href="picking.html">Additional core picking methods</a> (in
Locale and BranchGroup)</li>
<li><a href="stencil.html">Stencil buffer</a><br>
</li>
</ul>
<h4>2. Proposed API to be deprecated</h4>
<p>This is a list of features that we propose to
deprecate in
the API.<br>
</p>
<ul>
<li><code>CompressedGeometry</code> (no HW support, lack of industry
acceptance)</li>
<li><code>Sensor</code> prediction (has never been implemented)<br>
</li>
<li><code>PickPoint</code> (not fully implemented, cannot be used for
geometry-based picking; use PickBounds with
a
BoundingSphere that has a small radius)</li>
</ul>
<p>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).<br>
</p>
<h3>II. Medium Priority Features</h3>
<p>This list of medium priority features is under discussion for
possible inclusion
into the 1.4 API.
</p>
<h4>1. Possible API to be added</h4>
<p>This is a list of features that are being considered
for addition to
the API.<br>
</p>
<ul>
<li><a href="render-texture.html">Render to texture</a></li>
<li>Non-power-of-two textures</li>
<li>Point sprites</li>
<li>Ability for nested ViewSpecificGroup nodes to replace the set of
views in addition to
current intersection semantics</li>
<li>API support for retained alpha buffers</li>
<li>Ability to query properties from a <code>GraphicsConfiguration</code></li>
<li>Better support for off-screen configuration parameters (e.g., an
attribute in <code>GraphicsConfigTemplate3D</code> indicating whether
the requested <code>GraphicsConfiguration</code> is used for on-screen
rendering,
off-screen rendering, or both)</li>
<li>Enhance <code>getLocalToVWorld()</code> to return a valid result
for non-live graphs.</li>
<li><a href="lightweight-canvas3d.html">Lightweight Canvas3D (e.g.,
JCanvas3D)</a>. <span style="color: rgb(204, 0, 0);">Note: this
feature
will not
happen
without an someone from the community volunteering
to drive it.</span></li>
<li>Add a new attribute for depth test function to
RenderingAttributes: public <code>get/setDepthTestFunction(int function)</code>
methods that takes as values one of: <code>ALWAYS, NEVER,
EQUAL, NOT_EQUAL, LESS, LESS_OR_EQUAL, GREATER, GREATER_OR_EQUAL</code>.
The default value would be <code>LESS_OR_EQUAL</code> for backward
compatibility. <span style="color: rgb(204, 0, 0);">Note: this feature
will not
happen
without an someone from the community volunteering
to drive it.</span></li>
<li>Method to retrieve the geometry data from the tessellation of a
glyph in a 3D font: a
public <code>GeometryArray getGlyphGeometry(</code><code>int glyphCode</code><code>)</code>
method in the <code>Font3D</code> class. <span
style="color: rgb(204, 0, 0);">Note: this feature will not
happen
without an someone from the community volunteering
to drive it.</span><span style="color: rgb(204, 0, 0);"></span></li>
</ul>
<h4>2. Possible API to be deprecated</h4>
<p>This is a list of features that are being considered
for deprecation in
the API.<br>
</p>
<ul>
<li><code></code><code>Morph</code> (expensive, picking doesn't work,
can be done
in a utility)</li>
</ul>
<p>These are in addition to the API being proposed for deprecation in
section I.<br>
</p>
<br>
<h4><br>
</h4>
<h4><br>
</h4>
<p><br>
</p>
<p><br>
</p>
<h3><a name="Future_Features"></a>III. Future Features</h3>
<p>Here is an unprioritized list of possible features under
consideration for a future (e.g., 1.5/2.0)
version of the Java 3D API.
</p>
<ul>
<li>Multipass rendering</li>
<li>Shadow map support</li>
<li>Additional texture formats:
<ul>
<li>NIO buffer support</li>
<li>Texture compression formats</li>
</ul>
</li>
<li>Extensibility:
<ul>
<li>Access to the native context (JOGL integration)</li>
<li>Geometry extensibility</li>
<li>Additional node types (e.g., haptic rendering)</li>
<li>Extensible geometry processing algorithms</li>
</ul>
</li>
<li>Plug-in capability
<ul>
<li>Rendering Device Interface (pluggable renderers)</li>
<li>Visibility structure</li>
</ul>
</li>
</ul>
<p><font color="gray">Page last updated —
$Date$
</font></p>
</body>
</html>
|