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
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
|
<!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 API Changes</title>
</head>
<body>
<h2>Proposed Java 3D<sup><font size="-2">TM</font></sup> 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, and beyond. 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>
<table style="text-align: left; width: 100%;" border="0" cellspacing="4"
cellpadding="4">
<tbody>
<tr>
<td
style="text-align: left; vertical-align: top; background-color: rgb(255, 255, 225); width: 60%;">
<h3>1.4 Committed Features<br>
</h3>
<p>This list of high priority features will almost certainly make
it
into the 1.4 version of the Java 3D API.</p>
<ul>
<li><a
href="file:///home/kcr/java3d/1.3.3/j3d-core/www/j3d1_4/shaders.html">Programmable
Shaders</a></li>
<li><a
href="file:///home/kcr/java3d/1.3.3/j3d-core/www/j3d1_4/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="file:///home/kcr/java3d/1.3.3/j3d-core/www/j3d1_4/picking.html">Additional
core picking methods</a> (in
Locale and BranchGroup)</li>
<li><a
href="file:///home/kcr/java3d/1.3.3/j3d-core/www/j3d1_4/stencil.html">Stencil
buffer</a><br>
</li>
</ul>
<p>This is a list of features that we propose to <a
href="#Footnote_1">deprecate<sup>1</sup></a> in
the API.<br>
</p>
<ul>
<li><code>CompressedGeometry</code> class (no HW support, lack
of
industry
acceptance)</li>
<li>Sensor prediction (has never been implemented)<br>
</li>
<li><code>PickPoint</code> class (not fully implemented, cannot
be
used for
geometry-based picking; use PickBounds with
a
BoundingSphere that has a small radius)</li>
<li><code></code><code>Morph</code> node (expensive, picking
doesn't
work,
can be done
in a utility)</li>
</ul>
</td>
<td
style="text-align: left; vertical-align: top; background-color: rgb(235, 255, 235);"
colspan="1" rowspan="4">
<h3>Other Features for 1.4, 1.5, ...<br>
</h3>
<p>This list of medium priority features is under discussion for
possible inclusion
into the 1.4 or 1.5 API (or beyond). </p>
<ul>
<li>Non-power-of-two textures</li>
<li>Point sprites</li>
<li><a
href="file:///home/kcr/java3d/1.3.3/j3d-core/www/j3d1_4/vsg-op.html">Ability
for nested ViewSpecificGroup nodes
to replace the set of views</a><br>
</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="file:///home/kcr/java3d/1.3.3/j3d-core/www/j3d1_4/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>
<li>Additional texture formats:
<ul>
<li>NIO buffer support</li>
<li>Texture compression formats</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr>
<td
style="text-align: left; vertical-align: top; background-color: rgb(255, 255, 203); width: 60%;">
<h3>1.5 Proposed Major Features</h3>
<p>This list of high priority features is being seriously
considered for the 1.5 version of the Java 3D API.</p>
<ul>
<li><a href="render-texture.html">Render to texture</a></li>
<li><a href="multipass.html">Multipass rendering</a></li>
<li>Shadow map support</li>
</ul>
</td>
</tr>
<tr>
<td
style="text-align: left; vertical-align: top; background-color: rgb(255, 255, 182); width: 60%;">
<h3>1.6 Possible Major Features</h3>
<p><span style="font-style: italic;">Not yet planned</span><br>
</p>
</td>
</tr>
<tr>
<td
style="text-align: left; vertical-align: top; background-color: rgb(255, 255, 164); width: 60%;">
<h3><a name="Future_Features"></a>2.0 Possible Major Features</h3>
<p>Here is an unprioritized list of possible features under
consideration for a future 2.0 version of the Java 3D API. </p>
<ul>
<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>
</td>
</tr>
</tbody>
</table>
<p><small><a name="Footnote_1"></a>1 – Note that deprecated
features will not 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).</small></p>
<p><font color="gray">Page last updated —
$Date$
</font></p>
</body>
</html>
|