Package list java3d / 3d8be5e
Update upstream source from tag 'upstream/1.5.2+dfsg' Update to upstream version '1.5.2+dfsg' with Debian dir f26580f2d08c075eec1df721ccf50b6642b2424e Emmanuel Bourg 3 years ago
1028 changed file(s) with 435606 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
0 Copyright 1996-2008 Sun Microsystems, Inc., 4150 Network Circle, Santa
1 Clara, California 95054, U.S.A. All rights reserved.
2
3 Sun Microsystems, Inc. has intellectual property rights relating to
4 technology embodied in the product that is described in this
5 document. In particular, and without limitation, these intellectual
6 property rights may include one or more of the U.S. patents listed at
7 http://www.sun.com/patents and one or more additional patents or
8 pending patent applications in the U.S. and in other countries.
9
10 U.S. Government Rights - Commercial software. Government users are
11 subject to the Sun Microsystems, Inc. standard license agreement and
12 applicable provisions of the FAR and its supplements.
13
14 Use is subject to license terms.
15
16 This distribution may include materials developed by third parties.
17
18 Parts of the product may be derived from Berkeley BSD systems,
19 licensed from the University of California. UNIX is a registered
20 trademark in the U.S. and in other countries, exclusively licensed
21 through X/Open Company, Ltd.
22
23 Sun, Sun Microsystems, the Sun logo, Java, Solaris, Java 3D, the 100%
24 Pure Java logo, the Duke logo and the Java Coffee Cup logo are
25 trademarks or registered trademarks of Sun Microsystems, Inc. in the
26 U.S. and other countries.
27
28 This product is covered and controlled by U.S. Export Control laws and
29 may be subject to the export or import laws in other countries.
30 Nuclear, missile, chemical biological weapons or nuclear maritime end
31 uses or end users, whether direct or indirect, are strictly
32 prohibited. Export or reexport to countries subject to U.S. embargo or
33 to entities identified on U.S. export exclusion lists, including, but
34 not limited to, the denied persons and specially designated nationals
35 lists is strictly prohibited.
36
37 Copyright 1996-2008 Sun Microsystems, Inc., 4150 Network Circle, Santa
38 Clara, California 95054, Etats-Unis. Tous droits réservés.
39
40 Sun Microsystems, Inc. détient les droits de propriété intellectuels
41 relatifs à la technologie incorporée dans le produit qui est décrit
42 dans ce document. En particulier, et ce sans limitation, ces droits de
43 propriété intellectuelle peuvent inclure un ou plus des brevets
44 américains listés à l'adresse http://www.sun.com/patents et un ou les
45 brevets supplémentaires ou les applications de brevet en attente aux
46 Etats - Unis et dans les autres pays.
47
48 L'utilisation est soumise aux termes de la Licence.
49
50 Cette distribution peut comprendre des composants développés par des
51 tierces parties.
52
53 Des parties de ce produit pourront être dérivées des systèmes Berkeley
54 BSD licenciés par l'Université de Californie. UNIX est une marque
55 déposée aux Etats-Unis et dans d'autres pays et licenciée
56 exclusivement par X/Open Company, Ltd.
57
58 Sun, Sun Microsystems, le logo Sun, Java, Solaris, Java 3D, le logo
59 100% Pure Java, le logo Duke et le logo Java Coffee Cup sont des
60 marques de fabrique ou des marques déposées de Sun Microsystems,
61 Inc. aux Etats-Unis et dans d'autres pays.
62
63 Ce produit est soumis à la législation américaine en matière de
64 contrôle des exportations et peut être soumis à la règlementation en
65 vigueur dans d'autres pays dans le domaine des exportations et
66 importations. Les utilisations, ou utilisateurs finaux, pour des armes
67 nucléaires,des missiles, des armes biologiques et chimiques ou du
68 nucléaire maritime, directement ou indirectement, sont strictement
69 interdites. Les exportations ou réexportations vers les pays sous
70 embargo américain, ou vers des entités figurant sur les listes
71 d'exclusion d'exportation américaines, y compris, mais de manière non
72 exhaustive, la liste de personnes qui font objet d'un ordre de ne pas
73 participer, d'une façon directe ou indirecte, aux exportations des
74 produits ou des services qui sont régis par la législation américaine
75 en matière de contrôle des exportations et la liste de ressortissants
76 spécifiquement désignés, sont rigoureusement interdites.
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta content="text/html; charset=ISO-8859-1"
4 http-equiv="content-type">
5 <title>3D Graphics API for the Java Platform</title>
6 </head>
7 <body>
8 <p>Copyright 1996-2008 Sun Microsystems, Inc. All rights reserved.
9 Use is subject to license terms.
10 </p>
11 <p>This javadoc-generated API documentation is <em>not</em> an
12 official API specification. This documentation may contain references to
13 Java and Java 3D, both of which are trademarks of Sun Microsystems, Inc.
14 Any reference to these and other trademarks of Sun Microsystems are
15 for explanatory purposes only. Their use does impart any rights beyond
16 those listed in the source code license. In particular, Sun Microsystems
17 retains all intellectual property and trademark rights as described in
18 the proprietary rights notice in the COPYRIGHT.txt file.
19 </p>
20 </body>
21 </html>
0 The GNU General Public License (GPL)
1
2 Version 2, June 1991
3
4 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
5 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
6
7 Everyone is permitted to copy and distribute verbatim copies of this license
8 document, but changing it is not allowed.
9
10 Preamble
11
12 The licenses for most software are designed to take away your freedom to share
13 and change it. By contrast, the GNU General Public License is intended to
14 guarantee your freedom to share and change free software--to make sure the
15 software is free for all its users. This General Public License applies to
16 most of the Free Software Foundation's software and to any other program whose
17 authors commit to using it. (Some other Free Software Foundation software is
18 covered by the GNU Library General Public License instead.) You can apply it to
19 your programs, too.
20
21 When we speak of free software, we are referring to freedom, not price. Our
22 General Public Licenses are designed to make sure that you have the freedom to
23 distribute copies of free software (and charge for this service if you wish),
24 that you receive source code or can get it if you want it, that you can change
25 the software or use pieces of it in new free programs; and that you know you
26 can do these things.
27
28 To protect your rights, we need to make restrictions that forbid anyone to deny
29 you these rights or to ask you to surrender the rights. These restrictions
30 translate to certain responsibilities for you if you distribute copies of the
31 software, or if you modify it.
32
33 For example, if you distribute copies of such a program, whether gratis or for
34 a fee, you must give the recipients all the rights that you have. You must
35 make sure that they, too, receive or can get the source code. And you must
36 show them these terms so they know their rights.
37
38 We protect your rights with two steps: (1) copyright the software, and (2)
39 offer you this license which gives you legal permission to copy, distribute
40 and/or modify the software.
41
42 Also, for each author's protection and ours, we want to make certain that
43 everyone understands that there is no warranty for this free software. If the
44 software is modified by someone else and passed on, we want its recipients to
45 know that what they have is not the original, so that any problems introduced
46 by others will not reflect on the original authors' reputations.
47
48 Finally, any free program is threatened constantly by software patents. We
49 wish to avoid the danger that redistributors of a free program will
50 individually obtain patent licenses, in effect making the program proprietary.
51 To prevent this, we have made it clear that any patent must be licensed for
52 everyone's free use or not licensed at all.
53
54 The precise terms and conditions for copying, distribution and modification
55 follow.
56
57 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
58
59 0. This License applies to any program or other work which contains a notice
60 placed by the copyright holder saying it may be distributed under the terms of
61 this General Public License. The "Program", below, refers to any such program
62 or work, and a "work based on the Program" means either the Program or any
63 derivative work under copyright law: that is to say, a work containing the
64 Program or a portion of it, either verbatim or with modifications and/or
65 translated into another language. (Hereinafter, translation is included
66 without limitation in the term "modification".) Each licensee is addressed as
67 "you".
68
69 Activities other than copying, distribution and modification are not covered by
70 this License; they are outside its scope. The act of running the Program is
71 not restricted, and the output from the Program is covered only if its contents
72 constitute a work based on the Program (independent of having been made by
73 running the Program). Whether that is true depends on what the Program does.
74
75 1. You may copy and distribute verbatim copies of the Program's source code as
76 you receive it, in any medium, provided that you conspicuously and
77 appropriately publish on each copy an appropriate copyright notice and
78 disclaimer of warranty; keep intact all the notices that refer to this License
79 and to the absence of any warranty; and give any other recipients of the
80 Program a copy of this License along with the Program.
81
82 You may charge a fee for the physical act of transferring a copy, and you may
83 at your option offer warranty protection in exchange for a fee.
84
85 2. You may modify your copy or copies of the Program or any portion of it, thus
86 forming a work based on the Program, and copy and distribute such modifications
87 or work under the terms of Section 1 above, provided that you also meet all of
88 these conditions:
89
90 a) You must cause the modified files to carry prominent notices stating
91 that you changed the files and the date of any change.
92
93 b) You must cause any work that you distribute or publish, that in whole or
94 in part contains or is derived from the Program or any part thereof, to be
95 licensed as a whole at no charge to all third parties under the terms of
96 this License.
97
98 c) If the modified program normally reads commands interactively when run,
99 you must cause it, when started running for such interactive use in the
100 most ordinary way, to print or display an announcement including an
101 appropriate copyright notice and a notice that there is no warranty (or
102 else, saying that you provide a warranty) and that users may redistribute
103 the program under these conditions, and telling the user how to view a copy
104 of this License. (Exception: if the Program itself is interactive but does
105 not normally print such an announcement, your work based on the Program is
106 not required to print an announcement.)
107
108 These requirements apply to the modified work as a whole. If identifiable
109 sections of that work are not derived from the Program, and can be reasonably
110 considered independent and separate works in themselves, then this License, and
111 its terms, do not apply to those sections when you distribute them as separate
112 works. But when you distribute the same sections as part of a whole which is a
113 work based on the Program, the distribution of the whole must be on the terms
114 of this License, whose permissions for other licensees extend to the entire
115 whole, and thus to each and every part regardless of who wrote it.
116
117 Thus, it is not the intent of this section to claim rights or contest your
118 rights to work written entirely by you; rather, the intent is to exercise the
119 right to control the distribution of derivative or collective works based on
120 the Program.
121
122 In addition, mere aggregation of another work not based on the Program with the
123 Program (or with a work based on the Program) on a volume of a storage or
124 distribution medium does not bring the other work under the scope of this
125 License.
126
127 3. You may copy and distribute the Program (or a work based on it, under
128 Section 2) in object code or executable form under the terms of Sections 1 and
129 2 above provided that you also do one of the following:
130
131 a) Accompany it with the complete corresponding machine-readable source
132 code, which must be distributed under the terms of Sections 1 and 2 above
133 on a medium customarily used for software interchange; or,
134
135 b) Accompany it with a written offer, valid for at least three years, to
136 give any third party, for a charge no more than your cost of physically
137 performing source distribution, a complete machine-readable copy of the
138 corresponding source code, to be distributed under the terms of Sections 1
139 and 2 above on a medium customarily used for software interchange; or,
140
141 c) Accompany it with the information you received as to the offer to
142 distribute corresponding source code. (This alternative is allowed only
143 for noncommercial distribution and only if you received the program in
144 object code or executable form with such an offer, in accord with
145 Subsection b above.)
146
147 The source code for a work means the preferred form of the work for making
148 modifications to it. For an executable work, complete source code means all
149 the source code for all modules it contains, plus any associated interface
150 definition files, plus the scripts used to control compilation and installation
151 of the executable. However, as a special exception, the source code
152 distributed need not include anything that is normally distributed (in either
153 source or binary form) with the major components (compiler, kernel, and so on)
154 of the operating system on which the executable runs, unless that component
155 itself accompanies the executable.
156
157 If distribution of executable or object code is made by offering access to copy
158 from a designated place, then offering equivalent access to copy the source
159 code from the same place counts as distribution of the source code, even though
160 third parties are not compelled to copy the source along with the object code.
161
162 4. You may not copy, modify, sublicense, or distribute the Program except as
163 expressly provided under this License. Any attempt otherwise to copy, modify,
164 sublicense or distribute the Program is void, and will automatically terminate
165 your rights under this License. However, parties who have received copies, or
166 rights, from you under this License will not have their licenses terminated so
167 long as such parties remain in full compliance.
168
169 5. You are not required to accept this License, since you have not signed it.
170 However, nothing else grants you permission to modify or distribute the Program
171 or its derivative works. These actions are prohibited by law if you do not
172 accept this License. Therefore, by modifying or distributing the Program (or
173 any work based on the Program), you indicate your acceptance of this License to
174 do so, and all its terms and conditions for copying, distributing or modifying
175 the Program or works based on it.
176
177 6. Each time you redistribute the Program (or any work based on the Program),
178 the recipient automatically receives a license from the original licensor to
179 copy, distribute or modify the Program subject to these terms and conditions.
180 You may not impose any further restrictions on the recipients' exercise of the
181 rights granted herein. You are not responsible for enforcing compliance by
182 third parties to this License.
183
184 7. If, as a consequence of a court judgment or allegation of patent
185 infringement or for any other reason (not limited to patent issues), conditions
186 are imposed on you (whether by court order, agreement or otherwise) that
187 contradict the conditions of this License, they do not excuse you from the
188 conditions of this License. If you cannot distribute so as to satisfy
189 simultaneously your obligations under this License and any other pertinent
190 obligations, then as a consequence you may not distribute the Program at all.
191 For example, if a patent license would not permit royalty-free redistribution
192 of the Program by all those who receive copies directly or indirectly through
193 you, then the only way you could satisfy both it and this License would be to
194 refrain entirely from distribution of the Program.
195
196 If any portion of this section is held invalid or unenforceable under any
197 particular circumstance, the balance of the section is intended to apply and
198 the section as a whole is intended to apply in other circumstances.
199
200 It is not the purpose of this section to induce you to infringe any patents or
201 other property right claims or to contest validity of any such claims; this
202 section has the sole purpose of protecting the integrity of the free software
203 distribution system, which is implemented by public license practices. Many
204 people have made generous contributions to the wide range of software
205 distributed through that system in reliance on consistent application of that
206 system; it is up to the author/donor to decide if he or she is willing to
207 distribute software through any other system and a licensee cannot impose that
208 choice.
209
210 This section is intended to make thoroughly clear what is believed to be a
211 consequence of the rest of this License.
212
213 8. If the distribution and/or use of the Program is restricted in certain
214 countries either by patents or by copyrighted interfaces, the original
215 copyright holder who places the Program under this License may add an explicit
216 geographical distribution limitation excluding those countries, so that
217 distribution is permitted only in or among countries not thus excluded. In
218 such case, this License incorporates the limitation as if written in the body
219 of this License.
220
221 9. The Free Software Foundation may publish revised and/or new versions of the
222 General Public License from time to time. Such new versions will be similar in
223 spirit to the present version, but may differ in detail to address new problems
224 or concerns.
225
226 Each version is given a distinguishing version number. If the Program
227 specifies a version number of this License which applies to it and "any later
228 version", you have the option of following the terms and conditions either of
229 that version or of any later version published by the Free Software Foundation.
230 If the Program does not specify a version number of this License, you may
231 choose any version ever published by the Free Software Foundation.
232
233 10. If you wish to incorporate parts of the Program into other free programs
234 whose distribution conditions are different, write to the author to ask for
235 permission. For software which is copyrighted by the Free Software Foundation,
236 write to the Free Software Foundation; we sometimes make exceptions for this.
237 Our decision will be guided by the two goals of preserving the free status of
238 all derivatives of our free software and of promoting the sharing and reuse of
239 software generally.
240
241 NO WARRANTY
242
243 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
244 THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
245 STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
246 PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
247 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
248 FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
249 PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
250 YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
251
252 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
253 ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
254 PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
255 GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
256 INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
257 BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
258 FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
259 OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
260
261 END OF TERMS AND CONDITIONS
262
263 How to Apply These Terms to Your New Programs
264
265 If you develop a new program, and you want it to be of the greatest possible
266 use to the public, the best way to achieve this is to make it free software
267 which everyone can redistribute and change under these terms.
268
269 To do so, attach the following notices to the program. It is safest to attach
270 them to the start of each source file to most effectively convey the exclusion
271 of warranty; and each file should have at least the "copyright" line and a
272 pointer to where the full notice is found.
273
274 One line to give the program's name and a brief idea of what it does.
275
276 Copyright (C) <year> <name of author>
277
278 This program is free software; you can redistribute it and/or modify it
279 under the terms of the GNU General Public License as published by the Free
280 Software Foundation; either version 2 of the License, or (at your option)
281 any later version.
282
283 This program is distributed in the hope that it will be useful, but WITHOUT
284 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
285 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
286 more details.
287
288 You should have received a copy of the GNU General Public License along
289 with this program; if not, write to the Free Software Foundation, Inc., 59
290 Temple Place, Suite 330, Boston, MA 02111-1307 USA
291
292 Also add information on how to contact you by electronic and paper mail.
293
294 If the program is interactive, make it output a short notice like this when it
295 starts in an interactive mode:
296
297 Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
298 with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free
299 software, and you are welcome to redistribute it under certain conditions;
300 type 'show c' for details.
301
302 The hypothetical commands 'show w' and 'show c' should show the appropriate
303 parts of the General Public License. Of course, the commands you use may be
304 called something other than 'show w' and 'show c'; they could even be
305 mouse-clicks or menu items--whatever suits your program.
306
307 You should also get your employer (if you work as a programmer) or your school,
308 if any, to sign a "copyright disclaimer" for the program, if necessary. Here
309 is a sample; alter the names:
310
311 Yoyodyne, Inc., hereby disclaims all copyright interest in the program
312 'Gnomovision' (which makes passes at compilers) written by James Hacker.
313
314 signature of Ty Coon, 1 April 1989
315
316 Ty Coon, President of Vice
317
318 This General Public License does not permit incorporating your program into
319 proprietary programs. If your program is a subroutine library, you may
320 consider it more useful to permit linking proprietary applications with the
321 library. If this is what you want to do, use the GNU Library General Public
322 License instead of this License.
323
324
325 "CLASSPATH" EXCEPTION TO THE GPL
326
327 Certain source files distributed by Sun Microsystems, Inc. are subject to
328 the following clarification and special exception to the GPL, but only where
329 Sun has expressly included in the particular source file's header the words
330 "Sun designates this particular file as subject to the "Classpath" exception
331 as provided by Sun in the LICENSE file that accompanied this code."
332
333 Linking this library statically or dynamically with other modules is making
334 a combined work based on this library. Thus, the terms and conditions of
335 the GNU General Public License cover the whole combination.
336
337 As a special exception, the copyright holders of this library give you
338 permission to link this library with independent modules to produce an
339 executable, regardless of the license terms of these independent modules,
340 and to copy and distribute the resulting executable under terms of your
341 choice, provided that you also meet, for each linked independent module,
342 the terms and conditions of the license of that module. An independent
343 module is a module which is not derived from or based on this library. If
344 you modify this library, you may extend this exception to your version of
345 the library, but you are not obligated to do so. If you do not wish to do
346 so, delete this exception statement from your version.
0 The source code for the j3d-core project is copyrighted code that is
1 licensed to individuals or companies who download or otherwise access
2 the code.
3
4 The copyright notice for this project is in COPYRIGHT.txt
5
6 The source code license information for this project is in LICENSE.txt
7
8 Additional information and license restrictions for third party source
9 code are found in the THIRDPARTY-LICENSE-*.txt files.
10
11 Instructions for building this project are in README-build.html
12
13 Note that the source code in this directory is untested and presumed
14 incompatible with the Java 3D(TM) API specification. You must only use
15 this code in accordance with the terms under which the code is
16 licensed. No additional rights are granted to you.
17
18 If you prefer to use a tested and certified compatible version of the
19 code, then you can download a binary release for the Solaris, Linux,
20 Windows, and Mac OS X operating environments at:
21 https://java3d.dev.java.net/binary-builds.html
22 or at:
23 http://java.sun.com/products/java-media/3D/
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta content="text/html; charset=ISO-8859-1"
4 http-equiv="content-type">
5 <title>README-build: build instructions for the j3d-core project</title>
6 </head>
7 <body>
8 <h3><span style="font-weight: bold; text-decoration: underline;">Building
9 the 3D packages</span></h3>
10 <p><span style="text-decoration: underline;"><span
11 style="font-weight: bold;"></span></span><span
12 style="font-weight: bold; text-decoration: underline;"> </span></p>
13 <p>To
14 build the 3D packages, you must checkout the following three
15 CVS
16 repositories:<br>
17 </p>
18 <ul>
19 <li><a href="http://j3d-core.dev.java.net/">j3d-core</a></li>
20 <li><a href="http://j3d-core-utils.dev.java.net/">j3d-core-utils</a></li>
21 <li><a href="http://vecmath.dev.java.net/">vecmath</a></li>
22 </ul>
23 <p>These three top-level directories must be named exactly as
24 shown above and they must be sibling directories. To ensure this, run
25 the cvs checkout command for each of the respositories from the same
26 parent
27 directory. For example:<br>
28 </p>
29 <ul>
30 <code>cd &lt;cvs-root-dir&gt;</code><br>
31 <code>cvs checkout vecmath</code><br>
32 <code>cvs checkout j3d-core</code><br>
33 <code>cvs checkout j3d-core-utils</code>
34 </ul>
35 <p>NOTE: you must first build the javax.vecmath package before building
36 the javax.media.j3d and com.sun.j3d.* packages. See the <a
37 href="../vecmath/README-build.html">README-build.html</a> file in the
38 "vecmath" directory for instructions.<br>
39 </p>
40 <h3><span style="font-weight: bold; text-decoration: underline;"></span><span
41 style="text-decoration: underline;">System Requirements</span></h3>
42 <p><span style="font-weight: bold; text-decoration: underline;"></span></p>
43 <p><span style="font-weight: bold; text-decoration: underline;"></span>The
44 following operating environments have been tested:<br>
45 </p>
46 <ul>
47 <li>Solaris: Sparc (Ultra60 or better) running Solaris 9 with Forte C
48 compiler version 6.2 or GNU gcc version 3.3.2</li>
49 <li>Linux: i386/i586 running SuSE 9 or RedHat 9.0</li>
50 <li>Windows: Windows/XP with Microsoft Visual C++ 6.0 or the gcc that
51 comes with <a href="http://www.mingw.org">MinGW version 3.1.0-1</a>
52 (Windows 2000 should work, but is untested)<br>
53 </li>
54 </ul>
55 <p> The following software must be installed:<br>
56 </p>
57 <ul>
58 <li><a href="http://java.sun.com/j2se">JDK 1.5.0 </a><br>
59 </li>
60 <li><a href="http://jakarta.apache.org/ant">Apache Ant 1.6.1</a><br>
61 </li>
62 <li>C Compiler (Either one of the following depending on the platform)<br>
63 </li>
64 <ul>
65 <li>Solaris:<br>
66 </li>
67 <ul>
68 <li>Sun ONE Studio 8 (formerly Forte Tools)'s Compiler or GNU
69 Compiler Collection, <a href="http://gcc.gnu.org">GCC version 3.3.2</a><br>
70 </li>
71 </ul>
72 <li>Linux:<br>
73 </li>
74 <ul>
75 <li>GNU Compiler Collection, <a href="http://gcc.gnu.org">GCC
76 version 3.2.2</a><br>
77 </li>
78 </ul>
79 <li>Windows<br>
80 </li>
81 <ul>
82 <li>Microsoft Visual C++ 6.0 or later or GNU Compiler
83 Collection, GCC version 3.2.3 that comes with<a
84 href="http://www.mingw.org"> MinGW version 3.1.0-1</a><span
85 style="font-weight: bold; text-decoration: underline;"><br>
86 </span></li>
87 </ul>
88 </ul>
89 </ul>
90 <h3><span style="font-weight: bold; text-decoration: underline;">Building the 3D packages</span></h3>
91 <p><span style="font-weight: bold; text-decoration: underline;"></span><span
92 style="font-weight: bold; text-decoration: underline;"></span>Before
93 you start building, your PATH must include the
94 following directories:
95 </p>
96 <ul>
97 <li>&lt;ant-root-dir&gt;/bin<br>
98 </li>
99 <li>&lt;jdk-root-dir&gt;/bin<br>
100 </li>
101 <li>&lt;compiler-root-dir&gt;/bin<br>
102 </li>
103 </ul>
104 <p>The default target, jar-opt, creates an optimized jar files
105 and native libraries.
106 </p>
107 <p>On Amd64 platform an OutOfMemoryError can be seen. In this case set
108 the environment variable ANT_OPTS to -Xmx256m.<br>
109 </p>
110 <p>Steps:
111 </p>
112 <ul>
113 <code> cd &lt;cvs-root-dir&gt;/j3d-core<br>
114 ant</code>
115 </ul>
116 <p>The above steps build both the Java and native code for
117 javax.media.j3d and com.sun.j3d.*
118 packages.
119 </p>
120 <p>The build will be placed in j3d-core/build/&lt;platform&gt;/opt
121 where &lt;platform&gt; is determined from the <code>ant
122 echo</code> command:
123 </p>
124 <ul>
125 <code>ant echo</code>
126 </ul>
127 To see other targets that are available, type "ant
128 -projecthelp". Note that ant must be run from the top-level
129 directory.
130 <p>The default compiler for native code compilation is set to "gcc".
131 This
132 value is set in the <a href="build.properties">build.properties</a>
133 file located
134 in the j3d-core directory. The compiler property is "build.comp".<br>
135 </p>
136 <p>On a Solaris platform with Forte compiler installed,
137 build.comp
138 can be set to "forte". On a Windows platform installed Visual C++,
139 build.properties
140 can be set to "vc".<br>
141 </p>
142 <p>NOTE: For Windows platform only, the property "build.rend" in
143 build.properties can be modified to use "d3d" (Direct3D API for
144 rendering) besides the default value "ogl".<br>
145 </p>
146 <p>NOTE: You can also modify the properties via command-line options to
147 ant,
148 for example, "ant&nbsp;-Dbuild.comp=vc"<br>
149 </p>
150 <h3><span style="font-weight: bold; text-decoration: underline;">Running
151 the 3D examples</span></h3>
152 <p>Please refer to <a
153 href="../j3d-examples/README-build.html">README-build.html</a> in
154 j3d-examples for
155 details
156 on building and running the 3D example programs.<br>
157 </p>
158 </body>
159 </html>
0 The following additional provisions apply to third party software
1 included as part of this product.
2
3 native/ogl/
4 glext.h - glext header file on http://www.opengl.org
5 wglext.h - wglext header file on http://www.opengl.org
6
7 Copyright (c) 2007 The Khronos Group Inc.
8
9 Permission is hereby granted, free of charge, to any person obtaining a
10 copy of this software and/or associated documentation files (the
11 "Materials"), to deal in the Materials without restriction, including
12 without limitation the rights to use, copy, modify, merge, publish,
13 distribute, sublicense, and/or sell copies of the Materials, and to
14 permit persons to whom the Materials are furnished to do so, subject to
15 the following conditions:
16
17 The above copyright notice and this permission notice shall be included
18 in all copies or substantial portions of the Materials.
19
20 THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26 MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
0 The following additional provisions apply to third party software
1 included as part of this product.
2
3 native/ogl/
4 panoramiXext.h - X11 header file
5
6 Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard,
7 Massachusetts.
8
9 Permission is hereby granted, free of charge, to any person obtaining
10 a copy of this software and associated documentation files (the
11 "Software"), to deal in the Software without restriction, including
12 without limitation the rights to use, copy, modify, merge, publish,
13 distribute, sublicense, and/or sell copies of the Software.
14
15 The above copyright notice and this permission notice shall be
16 included in all copies or substantial portions of the Software.
17
18 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21 IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY
22 CLAIM, DAMAGES, INCLUDING, BUT NOT LIMITED TO CONSEQUENTIAL OR
23 INCIDENTAL DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF
24 CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
25 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26
27 Except as contained in this notice, the name of Digital Equipment
28 Corporation shall not be used in advertising or otherwise to promote
29 the sale, use or other dealings in this Software without prior written
30 authorization from Digital Equipment Corporation.
0 /*
1 * $RCSfile: VersionInfo.java,v $
2 *
3 * Copyright 2004-2008 Sun Microsystems, Inc. All Rights Reserved.
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 *
6 * This code is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 only, as
8 * published by the Free Software Foundation. Sun designates this
9 * particular file as subject to the "Classpath" exception as provided
10 * by Sun in the LICENSE file that accompanied this code.
11 *
12 * This code is distributed in the hope that it will be useful, but WITHOUT
13 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 * version 2 for more details (a copy is included in the LICENSE file that
16 * accompanied this code).
17 *
18 * You should have received a copy of the GNU General Public License version
19 * 2 along with this work; if not, write to the Free Software Foundation,
20 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
21 *
22 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
23 * CA 95054 USA or visit www.sun.com if you need additional information or
24 * have any questions.
25 *
26 * $Revision: 1.10 $
27 * $Date: 2008/02/28 20:17:15 $
28 * $State: Exp $
29 */
30
31 package javax.media.j3d;
32
33 /**
34 * The VersionInfo class contains strings that describe the implementation
35 * and specification version of the javax.media.j3d pacakge. These strings
36 * are made available as properties obtained from the VirtualUniverse class.
37 *
38 * <h4>NOTE TO DEVELOPERS:</h4>
39 *
40 * <p>
41 * Developers are strongly encouraged to do the following whenever they
42 * modify the 3D graphics API for the Java platform:
43 *
44 * <ol>
45 * <li>The VENDOR_DEVELOPER string should be modified to
46 * indicate the name of the individuals or organizations who have
47 * modified the source code.</li>
48 *
49 * <li>The VERSION_DEV_STRING may be modified to indicate
50 * additional information about the particular build, but this is
51 * not required.</li>
52 *
53 * <li>The strings denoted as being unmodifiable should <i>not</i> be
54 * modified.</li>
55 * </ol>
56 *
57 * <p>
58 * The tags of the form @STRING@ are populated by ant when the project is built
59 *
60 * @see VirtualUniverse#getProperties
61 */
62 class VersionInfo extends Object {
63 /**
64 * Developer who has modified the 3D graphics API for the Java platform.
65 * This string should be modified to indicate the name of the
66 * individual(s) or organization(s) who modified the code.
67 */
68 private static final String VENDOR_DEVELOPER = null;
69
70
71 /**
72 * An optional string appended to the end of the version string,
73 * after the time stamp. A space will be automatically prepended
74 * to this string. This string should be null if no dev string is
75 * desired.
76 */
77 private static final String VERSION_DEV_STRING = null;
78
79 // -------------------------------------------------------------------
80 // -------------------------------------------------------------------
81 // END OF DEVELOPER-MODIFIABLE PARAMETERS
82 // -------------------------------------------------------------------
83 // -------------------------------------------------------------------
84
85
86 // -------------------------------------------------------------------
87 // The following set of constants should not be modified by developers.
88 // -------------------------------------------------------------------
89
90 /**
91 * Constant that indicates whether or not this is a debug build.
92 */
93 static final boolean isDebug = @IS_DEBUG@;
94
95 /**
96 * This static final variable is used to enable debugging and
97 * assertion checking during the development phase of a particular
98 * version of 3D graphics API for the Java platform. It is disabled
99 * for "opt" production builds (beta, release candidate, fcs, and
100 * patch builds). It is enabled for all "debug" builds and for daily
101 * and stable "opt" builds.
102 *
103 * <p>
104 * This parameter is controlled by ant via the build.xml file. The
105 * default value is true.
106 */
107 static final boolean isDevPhase = @IS_DEV_PHASE@;
108
109 /**
110 * This static final variable is used indicate a production
111 * (beta, release candidate, fcs, or patch) build.
112 * <p>
113 * This parameter is controlled by ant via the build.xml file. The
114 * default value is false.
115 */
116 static final boolean isProduction = @IS_PRODUCTION@;
117
118 /**
119 * If this flag is set to true, the verbose buildtime string
120 * will be appended to the version string)
121 * <p>
122 * This parameter is controlled by ant via the build.xml file. The
123 * default value is true.
124 */
125 private static final boolean useVerboseBuildTime = @USE_VERBOSE_BUILDTIME@;
126
127 /**
128 * String identifying the type of build, one of:
129 * "daily", "stable", "beta", "fcs", or "patch". The default value
130 * is "daily".
131 */
132 private static final String BUILD_TYPE = "@BUILD_TYPE@";
133
134 /**
135 * String identifying the build number in the format
136 * "buildNN", where "NN" is the sequential build number, for
137 * example, build47. This string contain only letters and
138 * numbers, It must not contain any other characters or spaces.
139 *
140 * For production builds, this string appears parenthetically,
141 * after the first space.
142 */
143 private static final String VERSION_BUILD = "@VERSION_BUILD@";
144
145 /**
146 * String identifying the particular build of the 3D API, for
147 * example, "-beta1", "-build47", "-rc1", "_01", etc. Note that
148 * this includes the leading dash or underscore. It will typically
149 * be empty for FCS builds. This string may only contain letters,
150 * numbers, periods, dashes, or underscores. It must not contain
151 * any other characters or spaces.
152 *
153 * This us used as part of the j3d.version that appears before the
154 * optional first space.
155 */
156 private static final String VERSION_SUFFIX = "@VERSION_SUFFIX@";
157
158 /**
159 * Date stamp
160 *
161 * This is only used for daily builds.
162 */
163 private static final String BUILDTIME = "@BUILDTIME@";
164
165 /**
166 * Specification version (major and minor version only). This
167 * string must not be modified by developers.
168 */
169 private static final String SPECIFICATION_VERSION = "1.5";
170
171 /**
172 * Specification vendor.
173 */
174 private static final String SPECIFICATION_VENDOR = "@SPEC_VENDOR@";
175
176 /**
177 * Primary implementation vendor.
178 */
179 private static final String VENDOR_PRIMARY = "@IMPL_VENDOR@";
180
181 /**
182 * Base version number. This is the major.minor.subminor version
183 * number. Version qualifiers are specified separately. The
184 * major and minor version <i>must</i> be the same as the specification
185 * version.
186 */
187 private static final String VERSION_BASE = "@VERSION_BASE@";
188
189 /**
190 * Boolean flag indicating that the version of the 3D API is
191 * experimental. This must <i>not</i> be modified by developers.
192 * All non-official builds <i>must</i> contain the string
193 * <code>"experimental"</code> as part of the release name that
194 * appears before the optional first space.
195 */
196 private static final boolean isExperimental = !isProduction;
197
198 /**
199 * The composite version string. This is composed in the static
200 * initializer for this class.
201 */
202 private static final String VERSION;
203
204 /**
205 * The composite vendor string. This is composed in the static
206 * initializer for this class.
207 */
208 private static final String VENDOR;
209
210 /**
211 * Verbose time and date stamp appended to the end of the version string.
212 * This is appended to the version string
213 * after the build identifier (and after the first space, which
214 * will automatically be added) and before the optional dev
215 * string. This string is only used for non-fcs builds.
216 */
217 private static final String BUILDTIME_VERBOSE = "@BUILDTIME_VERBOSE@";
218
219 private static boolean isNonEmpty(String str) {
220 if ((str == null) || (str.length() == 0)) {
221 return false;
222 }
223 else {
224 return true;
225 }
226 }
227
228 // The static initializer composes the version and vendor strings
229 static {
230 final boolean isPatchBuild = BUILD_TYPE.equals("patch");
231 final boolean isFcsBuild = BUILD_TYPE.equals("fcs");
232 final boolean isBetaBuild = BUILD_TYPE.equals("beta");
233 final boolean isStableBuild = BUILD_TYPE.equals("stable");
234 final boolean isDailyBuild = BUILD_TYPE.equals("daily");
235
236 // Assign the vendor by concatenating primary and developer
237 // vendor strings
238 String tmpVendor = VENDOR_PRIMARY;
239 if (isNonEmpty(VENDOR_DEVELOPER)) {
240 tmpVendor += " & " + VENDOR_DEVELOPER;
241 }
242
243 String tmpVersion = VERSION_BASE;
244 if (isNonEmpty(VERSION_SUFFIX)) {
245 if (isPatchBuild) {
246 tmpVersion += "_";
247 }
248 else {
249 tmpVersion += "-";
250 }
251 tmpVersion += VERSION_SUFFIX;
252 }
253
254 if (isDailyBuild && isNonEmpty(BUILDTIME)) {
255 tmpVersion += "-" + BUILDTIME;
256 }
257
258 if (isExperimental) {
259 tmpVersion += "-experimental";
260 }
261
262 // Append the optional fields that follow the first space
263
264 if (isProduction) {
265 if (isFcsBuild) {
266 tmpVersion += " fcs";
267 }
268 else if (isPatchBuild) {
269 tmpVersion += " fcs+patch";
270 }
271
272 if (isNonEmpty(VERSION_BUILD)) {
273 tmpVersion += " (" + VERSION_BUILD + ")";
274 }
275 }
276
277 if (useVerboseBuildTime && isNonEmpty(BUILDTIME_VERBOSE)) {
278 tmpVersion += " " + BUILDTIME_VERBOSE;
279 }
280
281 if (isNonEmpty(VERSION_DEV_STRING)) {
282 tmpVersion += " " + VERSION_DEV_STRING;
283 }
284
285 VERSION = tmpVersion;
286 VENDOR = tmpVendor;
287 }
288
289 /**
290 * Returns the specification version string.
291 * @return the specification version string
292 */
293 static String getSpecificationVersion() {
294 return SPECIFICATION_VERSION;
295 }
296
297 /**
298 * Returns the specification vendor string.
299 * @return the specification vendor string
300 */
301 static String getSpecificationVendor() {
302 return SPECIFICATION_VENDOR;
303 }
304
305
306 /**
307 * Returns the implementation version string.
308 * @return the implementation version string
309 */
310 static String getVersion() {
311 return VERSION;
312 }
313
314 /**
315 * Returns the implementation vendor string.
316 * @return the implementation vendor string
317 */
318 static String getVendor() {
319 return VENDOR;
320 }
321
322 }
0 #!/bin/sh
1
2 # usage: genzip <archive-name> <license-file> <file> [ <file> ... ]
3
4 tmpscr1=script1.$$
5 tmpscr2=script2.$$
6
7 archive=$1
8 shift
9 license=$1
10 shift
11
12 echo "zip'ing..."
13
14 zip -r $archive.zip $*
15
16 cat ../unzipsfx $archive.zip > $archive
17
18 echo "Checksumming..."
19
20 sum=`/usr/bin/sum $archive`
21 index=1
22 for s in $sum
23 do
24 case $index in
25 1) sum1=$s;
26 index=2;
27 ;;
28 2) sum2=$s;
29 index=3;
30 ;;
31 esac
32 done
33 echo sum = $sum1 $sum2
34
35 cat ../script1.txt $license ../script2.txt > $tmpscr1
36
37 linecount=`/usr/bin/wc -l < $tmpscr1`
38 linecount=$(($linecount + 1))
39 echo linecount = $linecount
40
41 echo "Generating .bin script..."
42
43 sed -e s/@LINECOUNT@/$linecount/ -e s/@SUM1@/$sum1/ -e s/@SUM2@/$sum2/ < $tmpscr1 > $tmpscr2
44 cat $tmpscr2 $archive > ../$archive.bin
45 chmod +x ../$archive.bin
46
47 echo "Cleaning up..."
48 rm -f $tmpscr1
49 rm -f $tmpscr2
50 rm -f $archive.zip
51 rm -f $archive
52
53 echo "Done"
0 #!/bin/sh
1 PATH=/usr/bin:/bin
2 more <<"EOF"
3
0
1 EOF
2 agreed=
3 while [ x$agreed = x ]; do
4 echo
5 echo "Do you agree to the above license terms? [yes or no] "
6 read reply leftover
7 case $reply in
8 y* | Y*)
9 agreed=1;;
10 n* | n*)
11 echo "If you don't agree to the license you can't install this sofware";
12 exit 1;;
13 esac
14 done
15 if [ ! -w `pwd` ] ; then
16 echo "You do not have write permission to `pwd`"
17 echo "3D installation failed"
18 exit 1
19 fi
20 outname=install.sfx.$$
21 echo "Unpacking..."
22 tail -n +@LINECOUNT@ $0 > $outname
23 if [ -x /usr/bin/sum ] ; then
24 echo "Checksumming..."
25
26 sum=`/usr/bin/sum $outname`
27 index=1
28 for s in $sum
29 do
30 case $index in
31 1) sum1=$s;
32 index=2;
33 ;;
34 2) sum2=$s;
35 index=3;
36 ;;
37 esac
38 done
39 if expr $sum1 != @SUM1@ || expr $sum2 != @SUM2@ ; then
40 echo "The download file appears to be corrupted. Please refer"
41 echo "to the Troubleshooting section of the Installation"
42 echo "Instructions on the download page for more information."
43 echo "Please do not attempt to install this archive file."
44 rm -f $outname
45 exit 1
46 fi
47 else
48 echo "Can't find /usr/bin/sum to do checksum. Continuing anyway."
49 fi
50 echo "Extracting..."
51 chmod u+x $outname
52 ./$outname
53 rm -f $outname
54 echo "Done."
55 exit 0
0 #!/bin/sh
1 PATH=/usr/bin:/bin
2 more <<"EOF"
3
0
1 EOF
2 agreed=
3 while [ x$agreed = x ]; do
4 echo
5 echo "Do you agree to the above license terms? [yes or no] "
6 read reply leftover
7 case $reply in
8 y* | Y*)
9 agreed=1;;
10 n* | n*)
11 echo "If you don't agree to the license you can't install this sofware";
12 exit 1;;
13 esac
14 done
15 if [ ! -w `pwd` ] ; then
16 echo "You do not have write permission to `pwd`"
17 echo "3D installation failed"
18 exit 1
19 fi
20 outname=install.sfx.$$
21 echo "Unpacking..."
22 tail -n +@LINECOUNT@ $0 > $outname
23 if [ -x /usr/bin/sum ] ; then
24 echo "Checksumming..."
25
26 sum=`/usr/bin/sum $outname`
27 index=1
28 for s in $sum
29 do
30 case $index in
31 1) sum1=$s;
32 index=2;
33 ;;
34 2) sum2=$s;
35 index=3;
36 ;;
37 esac
38 done
39 if expr $sum1 != @SUM1@ || expr $sum2 != @SUM2@ ; then
40 echo "The download file appears to be corrupted. Please refer"
41 echo "to the Troubleshooting section of the Installation"
42 echo "Instructions on the download page for more information."
43 echo "Please do not attempt to install this archive file."
44 rm -f $outname
45 exit 1
46 fi
47 else
48 echo "Can't find /usr/bin/sum to do checksum. Continuing anyway."
49 fi
50 echo "Extracting..."
51 chmod u+x $outname
52 ./$outname
53 rm -f $outname
54 echo "Done."
55 exit 0
0 #!/bin/sh
1 PATH=/usr/bin:/bin
2 more <<"EOF"
3
0
1 EOF
2 agreed=
3 while [ x$agreed = x ]; do
4 echo
5 echo "Do you agree to the above license terms? [yes or no] "
6 read reply leftover
7 case $reply in
8 y* | Y*)
9 agreed=1;;
10 n* | n*)
11 echo "If you don't agree to the license you can't install this sofware";
12 exit 1;;
13 esac
14 done
15 if [ ! -w `pwd` ] ; then
16 echo "You do not have write permission to `pwd`"
17 echo "3D installation failed"
18 exit 1
19 fi
20 outname=install.sfx.$$
21 echo "Unpacking..."
22 tail +@LINECOUNT@ $0 > $outname
23 if [ -x /usr/bin/sum ] ; then
24 echo "Checksumming..."
25
26 sum=`/usr/bin/sum $outname`
27 index=1
28 for s in $sum
29 do
30 case $index in
31 1) sum1=$s;
32 index=2;
33 ;;
34 2) sum2=$s;
35 index=3;
36 ;;
37 esac
38 done
39 if expr $sum1 != @SUM1@ || expr $sum2 != @SUM2@ ; then
40 echo "The download file appears to be corrupted. Please refer"
41 echo "to the Troubleshooting section of the Installation"
42 echo "Instructions on the download page for more information."
43 echo "Please do not attempt to install this archive file."
44 rm -f $outname
45 exit 1
46 fi
47 else
48 echo "Can't find /usr/bin/sum to do checksum. Continuing anyway."
49 fi
50 echo "Extracting..."
51 chmod u+x $outname
52 ./$outname
53 rm -f $outname
54 echo "Done."
55 exit 0
0 #!/bin/sh
1 PATH=/usr/bin:/bin
2 more <<"EOF"
3
0
1 EOF
2 agreed=
3 while [ x$agreed = x ]; do
4 echo
5 echo "Do you agree to the above license terms? [yes or no] "
6 read reply leftover
7 case $reply in
8 y* | Y*)
9 agreed=1;;
10 n* | n*)
11 echo "If you don't agree to the license you can't install this sofware";
12 exit 1;;
13 esac
14 done
15 if [ ! -w `pwd` ] ; then
16 echo "You do not have write permission to `pwd`"
17 echo "3D installation failed"
18 exit 1
19 fi
20 outname=install.sfx.$$
21 echo "Unpacking..."
22 tail +@LINECOUNT@ $0 > $outname
23 if [ -x /usr/bin/sum ] ; then
24 echo "Checksumming..."
25
26 sum=`/usr/bin/sum $outname`
27 index=1
28 for s in $sum
29 do
30 case $index in
31 1) sum1=$s;
32 index=2;
33 ;;
34 2) sum2=$s;
35 index=3;
36 ;;
37 esac
38 done
39 if expr $sum1 != @SUM1@ || expr $sum2 != @SUM2@ ; then
40 echo "The download file appears to be corrupted. Please refer"
41 echo "to the Troubleshooting section of the Installation"
42 echo "Instructions on the download page for more information."
43 echo "Please do not attempt to install this archive file."
44 rm -f $outname
45 exit 1
46 fi
47 else
48 echo "Can't find /usr/bin/sum to do checksum. Continuing anyway."
49 fi
50 echo "Extracting..."
51 chmod u+x $outname
52 ./$outname
53 rm -f $outname
54 echo "Done."
55 exit 0
0 <?xml version="1.0"?>
1
2 <project name="j3d-1.5.2" default="jar-debug" basedir=".">
3
4 <!--
5 *********************************************************************
6 *
7 * The following properties may be set on the command line to
8 * specify the compiler used or the renderer to be built. They are
9 * specified using "ant -Dprop.name=value", where the actual
10 * property and and value are substituted for "prop.name" and
11 * "value"
12 *
13 * build.comp=gcc Use GCC compilers (default, all platforms)
14 * build.comp=forte Use Forte compilers (Solaris only)
15 * build.comp=vc Use Visual C++ compilers (Windows only)
16 *
17 * build.rend=ogl build OpenGL native library (default)
18 * build.rend=d3d build DirectX (D3D) native library
19 *
20 * For example:
21 *
22 * ant -Dbuild.comp=vc -Dbuild.rend=d3d ...
23 *
24 *********************************************************************
25 -->
26
27 <!-- *************************************** -->
28 <!-- *** Begin build-specific properties *** -->
29 <!-- *************************************** -->
30
31 <!--
32 * The following property specifies the build number of the current
33 * version of 3D being built. This build number is a monotonically
34 * increasing number that is incremented for each new stable, beta,
35 * fcs, or patch build. Each non-daily build will have a unique
36 * build number that is greater than the previous build's build
37 * number.
38 -->
39 <property name="version_buildnum" value="4"/>
40
41 <!--
42 * The following property specifies the beta revision of the current
43 * version of 3D being built. It is ignored for non-beta builds.
44 -->
45 <property name="version_betastr" value="beta3"/>
46
47 <!--
48 * The following property specifies the patch revision of the current
49 * version of 3D being built. It is ignored for non-beta builds.
50 -->
51 <property name="version_patchstr" value="01"/>
52
53 <!--
54 * The following properties specify the current version of 3D.
55 * The "version_base" property specifies the dot-dot base version
56 * number of 3D; it must contain exactly three integer numbers
57 * separated by "periods ("."). The version_base_file property must
58 * be the same version number as version_base with "_" replacing ".".
59 -->
60 <property name="version_base" value="1.5.2"/>
61 <property name="version_base_file" value="1_5_2"/>
62
63
64 <!-- ************************************* -->
65 <!-- *** End build-specific properties *** -->
66 <!-- ************************************* -->
67
68 <!--
69 *********************************************************************
70 *
71 * A build of j3d is one of the following five types: daily
72 * build, stable build, beta build (or release candidate), fcs build,
73 * patch build. Daily builds are identified with a "-preN-YYMMDDHHMM"
74 * suffix; stable builds are identified with a "-buildN" suffix; beta
75 * builds are identified with a "-betaN" or "-rcN" suffix; fcs builds
76 * have no suffix; and patch builds are identified with an "_N"
77 * suffix.
78 *
79 * The default is to do a daily build. This may be overriden by setting
80 * the build.type property on the command line to do a different kind
81 * of build:
82 *
83 * build.type=daily Do a daily build (default)
84 * build.type=stable Do a stable build : -buildN
85 * build.type=beta Do a beta or RC production build : -betaN or -rcN
86 * build.type=fcs Do an FCS production build : [no suffix]
87 * build.type=patch Do an FCS+patch production build : _PP
88 *
89 * For example:
90 *
91 * ant -Dbuild.type=stable ...
92 *
93 *********************************************************************
94 -->
95
96 <!-- Set global properties for this build -->
97 <property name="vecmath_home" location="../vecmath"/>
98 <property name="core_utils_home" location="../j3d-core-utils"/>
99
100 <property name="src" location="src"/>
101 <property name="vecmath_src" location="${vecmath_home}/src"/>
102 <property name="core_utils_src" location="${core_utils_home}/src"/>
103 <property name="build-tools" location="build-tools"/>
104 <property name="build" location="build"/>
105 <property name="dist" location="dist"/>
106 <property name="build.comp" value="gcc"/>
107 <property name="build.rend" value="ogl"/>
108
109 <property name="build.spec.title" value="3D Graphics API for the Java Platform"/>
110 <property name="build.impl.title" value="3D Graphics API for the Java Platform"/>
111 <property name="build.spec.vendor" value=""/>
112 <property name="build.impl.vendor" value=""/>
113 <property name="build.impl.vendor.id" value=""/>
114 <property name="build.javadoc.name" value="3D"/>
115 <property name="build.relprefix" value="j3d"/>
116
117 <target name="echo" depends="setupPlatform">
118 <echo message="platform = ${platform}"/>
119 <echo message="wstype = ${wstype}"/>
120 <echo message="os.arch = ${os.arch}"/>
121 <echo message="os.name = ${os.name}"/>
122 <echo message="ant.home = ${ant.home}"/>
123 <echo message="java.home = ${java.home}"/>
124 <echo message="core_utils_home = ${core_utils_home}"/>
125 <echo message="vecmath_home = ${vecmath_home}"/>
126 <echo message="user.name = ${user.name}"/>
127 <echo message="user.home = ${user.home}"/>
128
129 <echo message=""/>
130 <echo message="build.type = ${build.type}"/>
131 <echo message="build.rend = ${build.rend}"/>
132 <echo message="build.comp = ${build.comp}"/>
133 <echo message="is_dev_phase = ${is_dev_phase}"/>
134 <echo message="is_production = ${is_production}"/>
135 <echo message="use_verbose_buildtime = ${use_verbose_buildtime}"/>
136
137 <echo message="version_build = ${version_build}"/>
138 <echo message="version_suffix = ${version_suffix}"/>
139
140 <echo message="version = ${version}"/>
141 <echo message="version_file = ${version_file}"/>
142 </target>
143
144 <target name="setupSolaris" if="isSolarisOnSparc">
145 <property name="isUnix" value="true"/>
146 <property name="shell" value="/usr/bin/ksh"/>
147 <property name="wstype" value="x11"/>
148 <property name="platformname" value="solaris-sparc"/>
149 <property name="platform" value="solaris-sparc-${build.comp}"/>
150 <property name="install.bin" value="lib/sparc"/>
151 </target>
152
153 <target name="setupSolarisX86" if="isSolarisOnX86">
154 <property name="isUnix" value="true"/>
155 <property name="shell" value="/usr/bin/ksh"/>
156 <property name="wstype" value="x11"/>
157 <property name="platformname" value="solaris-x86"/>
158 <property name="platform" value="solaris-x86-${build.comp}"/>
159 <property name="install.bin" value="lib/i386"/>
160 </target>
161
162 <target name="setupLinux" if="isLinuxOnX86">
163 <property name="isUnix" value="true"/>
164 <property name="shell" value="/bin/sh"/>
165 <property name="wstype" value="x11"/>
166 <property name="platformname" value="linux-i586"/>
167 <property name="platform" value="linux-i586"/>
168 <property name="install.bin" value="lib/i386"/>
169 </target>
170
171 <target name="setupLinuxAmd64" if="isLinuxOnAmd64">
172 <property name="isUnix" value="true"/>
173 <property name="shell" value="/bin/sh"/>
174 <property name="wstype" value="x11"/>
175 <property name="platformname" value="linux-amd64"/>
176 <property name="platform" value="linux-amd64"/>
177 <property name="install.bin" value="lib/amd64"/>
178 </target>
179
180 <target name="setupLinuxIA64" if="isLinuxOnIA64">
181 <property name="isUnix" value="true"/>
182 <property name="shell" value="/bin/sh"/>
183 <property name="wstype" value="x11"/>
184 <property name="platformname" value="linux-ia64"/>
185 <property name="platform" value="linux-ia64"/>
186 <property name="install.bin" value="lib/ia64"/>
187 </target>
188
189 <target name="setupLinuxPPC" if="isLinuxOnPPC">
190 <property name="isUnix" value="true"/>
191 <property name="shell" value="/bin/sh"/>
192 <property name="wstype" value="x11"/>
193 <property name="platformname" value="linux-ppc"/>
194 <property name="platform" value="linux-ppc"/>
195 <property name="install.bin" value="lib/ppc"/>
196 </target>
197
198 <!-- win32 should be rename as windows -->
199 <target name="setupWindows" if="isWindowsOnX86">
200 <property name="isWindows" value="true"/>
201 <property name="wstype" value="win32"/>
202 <property name="platformname" value="windows-i586"/>
203 <property name="platform" value="windows-i586-${build.comp}"/>
204 <property name="install.bin" value="bin"/>
205 </target>
206
207 <target name="setupWindowsAmd64" if="isWindowsOnAmd64">
208 <property name="isWindows" value="true"/>
209 <property name="wstype" value="win32"/>
210 <property name="platformname" value="windows-amd64"/>
211 <property name="platform" value="windows-amd64-${build.comp}"/>
212 <property name="install.bin" value="bin"/>
213 </target>
214
215 <target name="setupMacOSX" if="isMacOSX">
216 <property name="wstype" value="jogl"/>
217 <property name="platformname" value="macosx"/>
218 <property name="platform" value="macosx"/>
219 </target>
220
221 <target name="init-jogl" if="build.jogl">
222 <property name="jogl.pipeline.srcdir" location="${src}/classes/jogl"/>
223 <echo message="Building JoglPipeline"/>
224 </target>
225
226 <target name="init-no-jogl" unless="build.jogl">
227 <property name="jogl.pipeline.srcdir" value=""/>
228 </target>
229
230 <target name="setupJogl" depends="init-jogl,init-no-jogl">
231 </target>
232
233 <target name="setupPlatform"
234 depends="init, setupBuildType, setupSolaris, setupSolarisX86, setupLinux, setupLinuxAmd64, setupLinuxIA64, setupLinuxPPC, setupWindows, setupWindowsAmd64, setupMacOSX, setupJogl">
235 <property name="build-debug-gen" location="${build}/${platform}/debug/gen"/>
236 <property name="build-opt-gen" location="${build}/${platform}/opt/gen"/>
237 <property name="docname" value="${build.relprefix}-${version_file}-doc"/>
238 </target>
239
240
241 <target name="setupBuildType" depends="initBuildType, setupBuildPatch, setupBuildFcs, setupBuildBeta, setupBuildStable, setupBuildDaily, checkBuildType">
242 <echo message="build.type = ${build.type}"/>
243 </target>
244
245 <target name="initBuildType">
246 <!-- Default value is "daily", overridden on command line -->
247 <property name="build.type" value="daily"/>
248 <property name="buildType_${build.type}" value="true"/>
249 </target>
250
251
252 <!-- Set properties for PATCH build -->
253 <target name="setupBuildPatch" if="buildType_patch">
254 <property name="buildTypeSet" value="true"/>
255
256 <property name="releaseType_final" value="true"/>
257 <property name="is_dev_phase" value="false"/>
258 <property name="is_production" value="true"/>
259 <property name="use_verbose_buildtime" value="false"/>
260
261 <property name="version_build" value="build${version_buildnum}"/>
262 <property name="version_suffix" value="${version_patchstr}"/>
263
264 <property name="version" value="${version_base}_${version_suffix}"/>
265 <property name="version_file" value="${version_base_file}_${version_suffix}"/>
266 </target>
267
268
269 <!-- Set properties for FCS build -->
270 <target name="setupBuildFcs" if="buildType_fcs">
271 <property name="buildTypeSet" value="true"/>
272
273 <property name="releaseType_final" value="true"/>
274 <property name="is_dev_phase" value="false"/>
275 <property name="is_production" value="true"/>
276 <property name="use_verbose_buildtime" value="false"/>
277
278 <property name="version_build" value="build${version_buildnum}"/>
279 <property name="version_suffix" value=""/>
280
281 <property name="version" value="${version_base}"/>
282 <property name="version_file" value="${version_base_file}"/>
283 </target>
284
285
286 <!-- Set properties for BETA build -->
287 <target name="setupBuildBeta" if="buildType_beta">
288 <property name="buildTypeSet" value="true"/>
289
290 <property name="releaseType_milestone" value="true"/>
291 <property name="releaseType_dailyOrMilestone" value="true"/>
292 <property name="is_dev_phase" value="false"/>
293 <property name="is_production" value="true"/>
294 <property name="use_verbose_buildtime" value="true"/>
295
296 <property name="version_build" value="build${version_buildnum}"/>
297 <property name="version_suffix" value="${version_betastr}"/>
298
299 <property name="version" value="${version_base}-${version_suffix}"/>
300 <property name="version_file" value="${version_base_file}-${version_suffix}"/>
301 </target>
302
303
304 <!-- Set properties for STABLE build -->
305 <target name="setupBuildStable" if="buildType_stable">
306 <property name="buildTypeSet" value="true"/>
307
308 <property name="releaseType_milestone" value="true"/>
309 <property name="releaseType_dailyOrMilestone" value="true"/>
310 <property name="is_dev_phase" value="true"/>
311 <property name="is_production" value="false"/>
312 <property name="use_verbose_buildtime" value="true"/>
313
314 <property name="version_build" value="build${version_buildnum}"/>
315 <property name="version_suffix" value="${version_build}"/>
316
317 <property name="version" value="${version_base}-${version_suffix}"/>
318 <property name="version_file" value="${version_base_file}-${version_suffix}"/>
319 </target>
320
321
322 <!-- Set properties for DAILY build -->
323 <target name="setupBuildDaily" if="buildType_daily">
324 <property name="buildTypeSet" value="true"/>
325
326 <property name="releaseType_daily" value="true"/>
327 <property name="releaseType_dailyOrMilestone" value="true"/>
328 <property name="is_dev_phase" value="true"/>
329 <property name="is_production" value="false"/>
330 <property name="use_verbose_buildtime" value="true"/>
331
332 <property name="version_build" value="pre${version_buildnum}"/>
333 <property name="version_suffix" value="${version_build}"/>
334
335 <property name="version" value="${version_base}-${version_suffix}-${buildtime}"/>
336 <property name="version_file" value="${version_base_file}-${version_suffix}-${buildtime}"/>
337 </target>
338
339
340 <!-- Check buildType -->
341 <target name="checkBuildType" unless="buildTypeSet">
342 <fail message="Unknown build.type = ${build.type}"/>
343 </target>
344
345
346 <target name="init">
347 <!-- Create the time stamp -->
348 <tstamp>
349 <format property="buildtime_verbose" pattern="dd MMM yyyy HH:mm:ss z"/>
350 <format property="buildtime" pattern="yyMMddHHmm"/>
351 </tstamp>
352
353 <echo message="buildtime = ${buildtime_verbose}"/>
354
355 <!-- Create the base build directory -->
356 <mkdir dir="${build}"/>
357
358 <!-- ========== determine platform ========== -->
359 <condition property="isWindowsOnX86">
360 <os family="windows" arch="x86"/>
361 </condition>
362
363
364 <condition property="isWindowsOnAmd64">
365 <os family="windows" arch="amd64"/>
366 </condition>
367
368 <condition property="isLinuxOnX86">
369 <os name="linux" arch="i386"/>
370 </condition>
371
372 <condition property="isLinuxOnAmd64">
373 <os name="linux" arch="amd64"/>
374 </condition>
375
376 <condition property="isLinuxOnIA64">
377 <os name="linux" arch="ia64"/>
378 </condition>
379
380 <condition property="isLinuxOnPPC">
381 <os name="linux" arch="ppc"/>
382 </condition>
383
384 <condition property="isSolarisOnSparc">
385 <os name="SunOS" arch="sparc"/>
386 </condition>
387
388 <condition property="isSolarisOnX86">
389 <os name="SunOS" arch="x86"/>
390 </condition>
391
392 <condition property="isa_amd64">
393 <contains string="${sun.cpu.isalist}" substring="amd64"/>
394 </condition>
395
396 <condition property="isMacOSX">
397 <and>
398 <os family="mac"/>
399 <os family="unix"/>
400 </and>
401 </condition>
402
403 <available file="${java.home}/lib/amd64/libjawt.so" property="jre_amd64_present"/>
404
405 <!-- flag indicating that a 64-bit JVM is available for Solaris/x86 -->
406 <condition property="isSolarisOnX86_64">
407 <and>
408 <isset property="isSolarisOnX86"/>
409 <isset property="isa_amd64"/>
410 <isset property="jre_amd64_present"/>
411 </and>
412 </condition>
413
414 </target>
415
416 <target name="compile-debug" depends="setupPlatform">
417 <!-- <ant dir="${vecmath_home}" target="jar-debug"/>-->
418 <ant dir="src/classes" target="compile-debug"/>
419 <antcall target="compile-debug-native"/>
420 </target>
421
422 <target name="compile-debug-native" unless="build.javaonly">
423 <ant dir="src/native" target="compile-debug"/>
424 </target>
425
426 <target name="compile-opt" depends="setupPlatform">
427 <!-- <ant dir="${vecmath_home}" target="jar-opt"/>-->
428 <ant dir="src/classes" target="compile-opt"/>
429 <antcall target="compile-opt-native"/>
430 </target>
431
432 <target name="compile-opt-native" unless="build.javaonly">
433 <ant dir="src/native" target="compile-opt"/>
434 </target>
435
436 <target name="compile" depends="compile-debug,compile-opt" />
437
438 <target name="jar-debug" depends="compile-debug">
439 <ant dir="src/classes" target="jar-debug"/>
440 </target>
441
442 <target name="jar-debug-javaonly">
443 <property name="build.javaonly" value="true"/>
444 <antcall target="jar-debug"/>
445 </target>
446
447 <target name="jar-opt" depends="compile-opt">
448 <ant dir="src/classes" target="jar-opt"/>
449 </target>
450
451 <target name="jar-opt-javaonly">
452 <property name="build.javaonly" value="true"/>
453 <antcall target="jar-opt"/>
454 </target>
455
456 <target name="jar" depends="jar-debug,jar-opt" />
457
458 <target name="docs-jcp" depends="setupPlatform">
459 <ant dir="src/classes" target="docs-jcp"/>
460 </target>
461
462 <target name="docs-public" depends="setupPlatform" unless="nojavadoc">
463 <ant dir="src/classes" target="docs-public"/>
464 </target>
465
466 <target name="docs-private" depends="setupPlatform">
467 <ant dir="src/classes" target="docs-private"/>
468 </target>
469
470 <target name="docs" depends="setupPlatform">
471 <ant dir="src/classes" target="docs"/>
472 </target>
473
474 <target name="setupCheckBuild" depends="setupPlatform">
475 <available file="${build}/linux-i586/opt/lib/ext/j3dcore.jar" property="buildLinuxFilesExist"/>
476 <available file="${build}/windows-i586-vc/opt/lib/ext/j3dcore.jar" property="buildWindowsFilesExist"/>
477 </target>
478
479 <target name="checkBuildLinux" unless="buildLinuxFilesExist">
480 <fail message="You must run the jar-opt target on Linux before running dist-common" />
481 </target>
482
483 <target name="checkBuildWindows" unless="buildWindowsFilesExist">
484 <fail message="You must run the jar-opt target on Windows before running dist-common" />
485 </target>
486
487 <target name="checkBuildPlatform" unless="isLinuxOnX86">
488 <fail message="You must run the dist-common target on linux-i586 platform" />
489 </target>
490
491 <target name="checkBuild" depends="setupCheckBuild,checkBuildPlatform,checkBuildLinux,checkBuildWindows">
492 </target>
493
494 <target name="dist-common" depends="setupPlatform,checkBuild">
495 <ant dir="src/classes" target="dist-common"/>
496 </target>
497
498 <target name="setupCheckDist" depends="setupPlatform">
499 <available file="${dist}/common/lib/ext/j3dcore.jar" property="distCommonFilesExist"/>
500 </target>
501
502 <target name="checkDistCommon" unless="distCommonFilesExist">
503 <fail message="You must run the dist-common target before running dist" />
504 </target>
505
506 <target name="checkDist" depends="setupCheckDist,checkDistCommon">
507 </target>
508
509 <!-- NOTE: the dist target no longer depends on jar-opt; you must run the
510 jar-opt and dist-common (linux-only) targets prior to dist -->
511 <target name="dist" depends="setupPlatform,checkDist,src">
512 <ant dir="src/classes" target="dist"/>
513 <ant dir="src/native" target="dist"/>
514 </target>
515
516 <!-- NOTE: the all target no longer depends on dist, which must be run separately -->
517 <target name="all" depends="jar,docs"/>
518
519 <target name="release" description="Package distribution for release"
520 depends="dist,init-release,release-daily,release-milestone,release-final">
521 </target>
522
523 <target name="init-release">
524 <property name="platformTmp" location="${dist}/${platform}/tmp"/>
525 <property name="platformTmpBund" location="${platformTmp}/bund"/>
526 <property name="platformTmpInst" location="${platformTmp}/inst"/>
527 <property name="release_name" value="${build.relprefix}-${version_file}-${platformname}"/>
528 <property name="inst_name" value="j3d-instfiles-${version_file}-${platformname}"/>
529 <mkdir dir="${dist}/release"/>
530 </target>
531
532 <target name="release-daily" depends="init-release,release-zip-bund-pre" if="releaseType_daily">
533 </target>
534
535 <target name="release-zip-bund-pre" if="releaseType_dailyOrMilestone">
536 <mkdir dir="${platformTmpBund}/${release_name}"/>
537
538 <zip destfile="${platformTmpBund}/${release_name}/j3d-jre.zip">
539 <fileset dir="${dist}/${platform}"
540 includes="lib/**"
541 />
542 <fileset dir="${dist}/${platform}"
543 includes="bin/**"
544 />
545 </zip>
546 <copy todir="${platformTmpBund}/${release_name}">
547 <fileset dir="." includes="COPYRIGHT.txt"/>
548 <fileset dir="release-info/pre-release"
549 includes="LICENSE*.txt README*.txt README-unzip.html"
550 />
551 </copy>
552 <zip destfile="${dist}/release/${release_name}.zip">
553 <fileset dir="${platformTmpBund}"
554 includes="${release_name}/**"
555 />
556 </zip>
557 </target>
558
559 <target name="release-milestone" depends="init-release,release-zip-bund-pre,release-zip-inst-pre" if="releaseType_milestone">
560 </target>
561
562 <target name="release-zip-inst-pre" if="releaseType_milestone">
563 <antcall target="release-zip-inst-pre-unix"/>
564 <antcall target="release-zip-inst-pre-windows"/>
565 </target>
566
567 <target name="release-zip-inst-pre-unix" if="isUnix">
568 <mkdir dir="${platformTmpInst}/${release_name}"/>
569
570 <copy todir="${platformTmpInst}/${release_name}">
571 <fileset dir="${dist}/${platform}"
572 includes="lib/**"/>
573 <fileset dir="${dist}/${platform}"
574 includes="bin/**"/>
575 </copy>
576
577 <copy tofile="${platformTmpInst}/${release_name}/LICENSE.txt">
578 <fileset dir="release-info/pre-release"
579 includes="LICENSE*.txt"/>
580 </copy>
581
582 <chmod dir="${platformTmpInst}/${release_name}" perm="755"
583 includes="**/*.so"/>
584
585 <copy todir="${platformTmpInst}">
586 <fileset dir="${build-tools}/${platformname}"
587 includes="script*.txt, unzipsfx"/>
588 </copy>
589
590 <exec dir="${platformTmpInst}/${release_name}" executable="${shell}">
591 <arg line="${build-tools}/genzip ${release_name} LICENSE.txt lib"/>
592 </exec>
593
594 <copy file="${platformTmpInst}/${release_name}.bin" todir="${dist}/release"/>
595
596 <chmod file="${dist}/release/${release_name}.bin" perm="755"/>
597 </target>
598
599 <target name="release-zip-inst-pre-windows" if="isWindows">
600 <property name="tmpInstDir" location="${platformTmpInst}/${inst_name}"/>
601 <mkdir dir="${tmpInstDir}/j3d-binaries"/>
602
603 <copy todir="${tmpInstDir}">
604 <fileset dir="release-info/pre-release"
605 includes="LICENSE*.rtf README.html"/>
606 </copy>
607
608 <copy todir="${tmpInstDir}/j3d-binaries">
609 <fileset dir="${dist}/${platform}"
610 includes="lib/**"/>
611 <fileset dir="${dist}/${platform}"
612 includes="bin/**"/>
613 </copy>
614
615 <chmod dir="${tmpInstDir}/j3d-binaries" perm="755"
616 includes="**/*.dll"/>
617
618 <zip destfile="${dist}/release/${inst_name}.zip">
619 <fileset dir="${platformTmpInst}"
620 includes="${inst_name}/**"/>
621 </zip>
622 </target>
623
624 <target name="release-final" depends="init-release,release-zip-bund-final,release-zip-inst-final" if="releaseType_final">
625 </target>
626
627 <target name="release-zip-bund-final" if="releaseType_final">
628 <mkdir dir="${platformTmpBund}/${release_name}"/>
629
630 <zip destfile="${platformTmpBund}/${release_name}/j3d-jre.zip">
631 <fileset dir="${dist}/${platform}"
632 includes="lib/**"
633 />
634 <fileset dir="${dist}/${platform}"
635 includes="bin/**"
636 />
637 </zip>
638 <copy todir="${platformTmpBund}/${release_name}">
639 <fileset dir="." includes="COPYRIGHT.txt"/>
640 <fileset dir="release-info/fcs-${version_base_file}"
641 includes="LICENSE*.txt README*.txt README-unzip.html"
642 />
643 </copy>
644 <zip destfile="${dist}/release/${release_name}.zip">
645 <fileset dir="${platformTmpBund}"
646 includes="${release_name}/**"
647 />
648 </zip>
649 </target>
650
651 <target name="release-zip-inst-final" if="releaseType_final">
652 <antcall target="release-zip-inst-final-unix"/>
653 <antcall target="release-zip-inst-final-windows"/>
654 </target>
655
656 <target name="release-zip-inst-final-unix" if="isUnix">
657 <mkdir dir="${platformTmpInst}/${release_name}"/>
658
659 <copy todir="${platformTmpInst}/${release_name}">
660 <fileset dir="${dist}/${platform}"
661 includes="lib/**"/>
662 <fileset dir="${dist}/${platform}"
663 includes="bin/**"/>
664 </copy>
665
666 <copy tofile="${platformTmpInst}/${release_name}/LICENSE.txt">
667 <fileset dir="release-info/fcs-${version_base_file}"
668 includes="LICENSE*.txt"/>
669 </copy>
670
671 <chmod dir="${platformTmpInst}/${release_name}" perm="755"
672 includes="**/*.so"/>
673
674 <copy todir="${platformTmpInst}">
675 <fileset dir="${build-tools}/${platformname}"
676 includes="script*.txt, unzipsfx"/>
677 </copy>
678
679 <exec dir="${platformTmpInst}/${release_name}" executable="${shell}">
680 <arg line="${build-tools}/genzip ${release_name} LICENSE.txt lib"/>
681 </exec>
682
683 <copy file="${platformTmpInst}/${release_name}.bin" todir="${dist}/release"/>
684
685 <chmod file="${dist}/release/${release_name}.bin" perm="755"/>
686 </target>
687
688 <target name="release-zip-inst-final-windows" if="isWindows">
689 <property name="tmpInstDir" location="${platformTmpInst}/${inst_name}"/>
690 <mkdir dir="${tmpInstDir}/j3d-binaries"/>
691
692 <copy todir="${tmpInstDir}">
693 <fileset dir="release-info/fcs-${version_base_file}"
694 includes="LICENSE*.rtf README.html"/>
695 </copy>
696
697 <copy todir="${tmpInstDir}/j3d-binaries">
698 <fileset dir="${dist}/${platform}"
699 includes="lib/**"/>
700 <fileset dir="${dist}/${platform}"
701 includes="bin/**"/>
702 </copy>
703
704 <chmod dir="${tmpInstDir}/j3d-binaries" perm="755"
705 includes="**/*.dll"/>
706
707 <zip destfile="${dist}/release/${inst_name}.zip">
708 <fileset dir="${platformTmpInst}"
709 includes="${inst_name}/**"/>
710 </zip>
711 </target>
712
713 <target name="initSrc" depends="setupPlatform">
714 <property name="platformSrc" location="${dist}/${platform}/src"/>
715 <property name="j3dZip" value="j3d-${version_file}-src.zip"/>
716 <property name="vecmathZip" value="vecmath-${version_file}-src.zip"/>
717
718 <property name="j3dZipFile" location="${platformSrc}/${j3dZip}"/>
719 <property name="vecmathZipFile" location="${platformSrc}/${vecmathZip}"/>
720 <property name="cvsRootDir" location=".."/>
721
722 <mkdir dir="${platformSrc}"/>
723 </target>
724
725 <target name="echoSrc">
726 <echo message="j3dZipFile = ${j3dZipFile}"/>
727 <echo message="vecmathZipFile = ${vecmathZipFile}"/>
728 <echo message="cvsRootDir = ${cvsRootDir}"/>
729 </target>
730
731 <target name="src" depends="initSrc, echoSrc, j3dSrc, vecmathSrc">
732 </target>
733
734 <target name="j3dSrc">
735 <zip destfile="${j3dZipFile}">
736
737 <fileset dir="${cvsRootDir}/j3d-core/release-info/src-release/j3d"
738 includes="README.txt"/>
739
740 <zipfileset dir="${cvsRootDir}/j3d-core" prefix="javax"
741 includes="COPYRIGHT.txt *LICENSE*.*"/>
742
743 <fileset dir="${cvsRootDir}/j3d-core/src/classes/share"
744 includes="*/**"
745 excludes="**/doc-files/** **/package.html"/>
746
747 <fileset dir="${cvsRootDir}/j3d-core/src/classes/jogl"
748 includes="*/**"
749 excludes="**/doc-files/** **/package.html"/>
750
751 <!-- We will not include platform specific source files in this release
752
753 <fileset dir="${cvsRootDir}/j3d-core/src/classes/win32"
754 includes="*/**"
755 excludes="**/doc-files/** **/package.html"/>
756 <fileset dir="${cvsRootDir}/j3d-core/src/classes/x11"
757 includes="*/**"
758 excludes="**/doc-files/** **/package.html"/>
759 -->
760
761 <zipfileset dir="${cvsRootDir}/j3d-core-utils" prefix="com"
762 includes="COPYRIGHT.txt *LICENSE*.*"/>
763
764 <fileset dir="${cvsRootDir}/j3d-core-utils/src/classes/share"
765 includes="*/**"
766 excludes="**/doc-files/** **/package.html"/>
767 </zip>
768 </target>
769
770 <target name="vecmathSrc">
771 <zip destfile="${vecmathZipFile}">
772
773 <fileset dir="${cvsRootDir}/j3d-core/release-info/src-release/vecmath"
774 includes="README.txt"/>
775
776 <zipfileset dir="${cvsRootDir}/vecmath" prefix="javax"
777 includes="COPYRIGHT.txt *LICENSE*.*"/>
778
779 <fileset dir="${cvsRootDir}/vecmath/src"
780 includes="*/**"
781 excludes="*/doc-files/** **/package.html VECMATH.MF"/>
782 </zip>
783 </target>
784
785 <target name="clean-dist">
786 <!-- Delete the ${dist} directory tree -->
787 <delete dir="${dist}"/>
788 </target>
789
790 <target name="clean-default" unless="build.concurrent">
791 <delete dir="${build}/default"/>
792 </target>
793
794 <target name="clean-dist-common" if="isLinuxOnX86">
795 <delete dir="${dist}/common"/>
796 </target>
797
798 <target name="clean" depends="setupPlatform,clean-default,clean-dist-common">
799 <!-- Delete the ${build}, and ${dist} directory trees for current platform -->
800 <delete dir="${build}/${platform}"/>
801 <delete dir="${dist}/${platform}"/>
802 </target>
803
804 <target name="clean-all">
805 <!-- Delete the ${build}, and ${dist} directory trees -->
806 <delete dir="${build}"/>
807 <delete dir="${dist}"/>
808 </target>
809
810 <target name="clean-javaonly" depends="setupPlatform">
811 <!-- Delete only the java portions of $[build} for the current platform -->
812 <delete dir="${build}/${platform}/debug/classes"/>
813 <delete dir="${build}/${platform}/debug/lib/ext"/>
814 <delete dir="${build}/${platform}/opt/classes"/>
815 <delete dir="${build}/${platform}/opt/lib/ext"/>
816 </target>
817
818 <target name="install-debug" depends="jar-debug">
819 <ant dir="src/classes" target="install-debug"/>
820 </target>
821
822 <target name="install-opt" depends="jar-opt">
823 <ant dir="src/classes" target="install-opt"/>
824 </target>
825
826 <target name="uninstall" depends="setupPlatform">
827 <ant dir="src/classes" target="uninstall"/>
828 </target>
829
830 <description>
831 The following ant targets are available ("jar-opt" is the default):
832
833 all - execute targets jar-debug and dist.
834
835 clean - removes build/ and dist/ for current platform
836
837 clean-all - removes build/ and dist/ for all platforms
838
839 clean-dist - removes dist.
840
841 clean-javaonly - removes java portion of build for current platform
842
843 compile - execute targets compile-debug and compile-opt.
844
845 compile-debug - builds all classes and native layer in src into
846 class files under build/${platform}/debug/classes/ and
847 native files under build/${platform}/debug/native/
848
849 compile-opt - builds all classes and native layer in src into
850 class files under build/${platform}/opt/classes/ and
851 native files under build/${platform}/opt/native/
852
853 dist - THIS TARGET IS FOR RELEASE ENGINEERING ONLY; DEVELOPERS NEED NOT
854 USE THIS TARGET.
855 Copies the shared jars, and the platform-specific native
856 libraries, src files, and javadoc to dist/${platform}.
857 The dist-common target must be run first.
858
859 dist-common - THIS TARGET IS FOR RELEASE ENGINEERING ONLY; DEVELOPERS NEED NOT
860 USE THIS TARGET.
861 This target must be run on a 32-bit Linux-x86 system.
862 Creates the shared jar from the linux-i586 and
863 windows-i586-vc build directories.
864 The jar-opt target must be run first.
865
866 docs - builds all classes in src into javadoc under
867 build/javadocs.
868
869 docs-jcp - builds JCP docs of all classes in src into javadoc
870 under build/javadocs/docs-jcp.
871
872 docs-private - builds private docs of all classes in src into javadoc
873 under build/javadocs/docs-private.
874
875 docs-public - builds public docs of all classes in src into javadoc
876 under build/javadocs/docs-public.
877
878 echo - echo some useful information, such as user.home,
879 ant.home, java.home and platform.
880
881 jar - execute targets jar-debug and jar-opt.
882
883 jar-debug - creates build/${platform}/debug/lib for all jar
884 files and libraries from class and native code files under
885 build/${platform}/debug/classes and
886 build/${platform}/debug/native.
887
888 jar-debug-javaonly
889 - compiles only the java portion of j3d and builds
890 jars in same locations as jar-debug
891
892 jar-opt - creates build/${platform}/opt/lib for all jar
893 files and libraries from class and native code files under
894 build/${platform}/opt/classes and
895 build/${platform}/opt/native.
896
897 jar-opt-javaonly
898 - compiles only the java portion of j3d and builds
899 jars in same location as jar-opt
900
901 install-debug - installs the debug build into the JDK pointed to by JAVA_HOME
902
903 src - generate a zip file j3d project source code.
904
905 uninstall - uninstalls j3d from the JDK pointed to by JAVA_HOME
906 </description>
907 </project>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta content="text/html; charset=ISO-8859-1"
4 http-equiv="content-type">
5 <title>Java 3D 1.4 Change Log</title>
6 </head>
7 <body>
8 <h1>Java&nbsp;3D API version 1.4 Change Log</h1>
9 <p>Here are the proposed changes for Java&nbsp;3D version 1.4. These
10 proposed changes are a results of discussion and collaboration with the
11 Java&nbsp;3D community on java.net (see
12 <a href="https://java3d.dev.java.net">https://java3d.dev.java.net</a>).
13 They are already part of daily and periodic stable builds available on
14 java.net.</p>
15 <h2>I. Proposed Changes</h2>
16 <p><br>
17 </p>
18 <h2>II. Accepted Changes</h2>
19 <p>Here is the list of accepted changes for the Java&nbsp;3D 1.4 API:<br>
20 </p>
21 <ol>
22 <li><a href="#Programmable_shader_support">Programmable shader support</a></li>
23 <li><a href="#Default_values">Default values for read capability bits</a></li>
24 <li><a href="#Picking">Picking</a></li>
25 <li><a href="#Stencil">Stencil</a></li>
26 <li><a href="#Rendering_attributes">Rendering attributes</a></li>
27 <li><a href="#Other_minor_features">Other minor features</a></li>
28 <li><a href="#Deprecated_API">Deprecated API</a><br>
29 </li>
30 </ol>
31 <p>For a complete description of these changes, please see the
32 proposed API specification (javadoc) for the 1.4 version of the
33 Java&nbsp;3D API.
34 </p>
35 <h3><a name="Programmable_shader_support"></a>1. Programmable shader
36 support<br>
37 </h3>
38 <p>We propose to add programmable shader support to Java&nbsp;3D 1.4.
39 This is
40 the primary new feature of this release.<br>
41 </p>
42 <p>The following new classes and interfaces are added in
43 the <code>javax.media.j3d</code> package:<br>
44 </p>
45 <ul>
46 <code>public class <span style="font-weight: bold;">ShaderAppearance</span>
47 extends Appearance<br>
48 public class <span style="font-weight: bold;">ShaderAttributeSet</span>
49 extends
50 NodeComponent<br>
51 public abstract class <span style="font-weight: bold;">ShaderAttribute</span>
52 extends
53 NodeComponent<br>
54 public class <span style="font-weight: bold;">ShaderAttributeBinding</span>
55 extends
56 ShaderAttribute<br>
57 public abstract class <span style="font-weight: bold;">ShaderAttributeObject</span>
58 extends ShaderAttribute<br>
59 public class <span style="font-weight: bold;">ShaderAttributeValue</span>
60 extends
61 ShaderAttributeObject<br>
62 public class <span style="font-weight: bold;">ShaderAttributeArray</span>
63 extends
64 ShaderAttributeObject<br>
65 public abstract class <span style="font-weight: bold;">Shader</span>
66 extends
67 NodeComponent<br>
68 public class <span style="font-weight: bold;">SourceCodeShader</span>
69 extends Shader<br>
70 public abstract class <span style="font-weight: bold;">ShaderProgram</span>
71 extends
72 NodeComponent<br>
73 public class <span style="font-weight: bold;">CgShaderProgram</span>
74 extends
75 ShaderProgram<br>
76 public class <span style="font-weight: bold;">GLSLShaderProgram</span>
77 extends
78 ShaderProgram<br>
79 public class <span style="font-weight: bold;">ShaderError</span>
80 extends Object<br>
81 public interface <span style="font-weight: bold;">ShaderErrorListener</span><br>
82 <br>
83 </code>
84 </ul>
85 <p>The following new classes are added in the
86 <code>javax.vecmath</code> package:<br>
87 </p>
88 <ul>
89 <code>public abstract class <span style="font-weight: bold;">Tuple2i</span>
90 implements Serializable, Cloneable<br>
91 public class <span style="font-weight: bold;">Point2i</span> extends
92 Tuple2i<br>
93 </code>
94 </ul>
95 <p>The following new fields, constructors, and methods are added to
96 existing classes:<br>
97 </p>
98 <ul>
99 <code><span style="font-weight: bold; text-decoration: underline;">Canvas3D</span><br>
100 New method:<br>
101 &nbsp;&nbsp;&nbsp;&nbsp;public boolean isShadingLanguageSupported(int
102 shadingLanguage)<br>
103 <br>
104 </code><code><span
105 style="font-weight: bold; text-decoration: underline;">VirtualUniverse</span><br>
106 New methods:<br>
107 &nbsp;&nbsp;&nbsp;&nbsp;public void
108 addShaderErrorListener(ShaderErrorListener listener)<br>
109 &nbsp;&nbsp;&nbsp;&nbsp;public void
110 removeShaderErrorListener(ShaderErrorListener listener)<br>
111 <br>
112 </code><code></code><code><span
113 style="font-weight: bold; text-decoration: underline;">GeometryArray</span><br>
114 New fields:<br>
115 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ALLOW_VERTEX_ATTR_READ<br>
116 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ALLOW_VERTEX_ATTR_WRITE<br>
117 &nbsp;&nbsp;&nbsp;&nbsp;public static final int VERTEX_ATTRIBUTES<br>
118 <br>
119 New constructor:<br>
120 &nbsp;&nbsp;&nbsp;&nbsp;public GeometryArray(... int
121 vertexAttrCount, int[]
122 vertexAttrSizes)<br>
123 <br>
124 New methods:<br>
125 &nbsp;&nbsp;&nbsp;&nbsp;public int getVertexAttrCount()<br>
126 &nbsp;&nbsp;&nbsp;&nbsp;public void getVertexAttrSizes(int[]
127 vertexAttrSizes)<br>
128 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttr(int vertexAttrNum,
129 int index, float[]
130 vertexAttr)<br>
131 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttr(int vertexAttrNum,
132 int index, Point2f
133 vertexAttr)<br>
134 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttr(int vertexAttrNum,
135 int index, Point3f
136 vertexAttr)<br>
137 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttr(int vertexAttrNum,
138 int index, Point4f
139 vertexAttr)<br>
140 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttrs(int vertexAttrNum,
141 int index, float[]
142 vertexAttrs)<br>
143 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttrs(int vertexAttrNum,
144 int index, Point2f[]
145 vertexAttrs)<br>
146 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttrs(int vertexAttrNum,
147 int index, Point3f[]
148 vertexAttrs)<br>
149 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttrs(int vertexAttrNum,
150 int index, Point4f[]
151 vertexAttrs)<br>
152 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttrs(int vertexAttrNum,
153 int index,<br>
154 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float[]
155 vertexAttrs, int
156 start, int length)<br>
157 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttrs(int vertexAttrNum,
158 int index,<br>
159 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Point2f[]
160 vertexAttrs, int
161 start, int length)<br>
162 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttrs(int vertexAttrNum,
163 int index,<br>
164 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Point3f[]
165 vertexAttrs, int
166 start, int length)<br>
167 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttrs(int vertexAttrNum,
168 int index,<br>
169 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Point4f[]
170 vertexAttrs, int
171 start, int length)<br>
172 &nbsp;&nbsp;&nbsp;&nbsp;public void getVertexAttr(int vertexAttrNum,
173 int index, float[]
174 vertexAttr)<br>
175 &nbsp;&nbsp;&nbsp;&nbsp;public void getVertexAttr(int vertexAttrNum,
176 int index, Point2f
177 vertexAttr)<br>
178 &nbsp;&nbsp;&nbsp;&nbsp;public void getVertexAttr(int vertexAttrNum,
179 int index, Point3f
180 vertexAttr)<br>
181 &nbsp;&nbsp;&nbsp;&nbsp;public void getVertexAttr(int vertexAttrNum,
182 int index, Point4f
183 vertexAttr)<br>
184 &nbsp;&nbsp;&nbsp;&nbsp;public void getVertexAttrs(int vertexAttrNum,
185 int index, float[]
186 vertexAttrs)<br>
187 &nbsp;&nbsp;&nbsp;&nbsp;public void getVertexAttrs(int vertexAttrNum,
188 int index, Point2f[]
189 vertexAttrs)<br>
190 &nbsp;&nbsp;&nbsp;&nbsp;public void getVertexAttrs(int vertexAttrNum,
191 int index, Point3f[]
192 vertexAttrs)<br>
193 &nbsp;&nbsp;&nbsp;&nbsp;public void getVertexAttrs(int vertexAttrNum,
194 int index, Point4f[]
195 vertexAttrs)<br>
196 &nbsp;&nbsp;&nbsp;&nbsp;public void setInitialVertexAttrIndex(int
197 vertexAttrNum, int
198 initialVertexAttrIndex)<br>
199 &nbsp;&nbsp;&nbsp;&nbsp;public int getInitialVertexAttrIndex(int
200 vertexAttrNum)<br>
201 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttrRefBuffer(int
202 vertexAttrNum, J3DBuffer vertexAttrs)<br>
203 &nbsp;&nbsp;&nbsp;&nbsp;public J3DBuffer getVertexAttrRefBuffer(int
204 vertexAttrNum)<br>
205 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttrRefFloat(int
206 vertexAttrNum, float[] vertexAttrs)<br>
207 &nbsp;&nbsp;&nbsp;&nbsp;public float[] getVertexAttrRefFloat(int
208 vertexAttrNum)<br>
209 <br>
210 <span style="font-weight: bold; text-decoration: underline;">IndexedGeometryArray</span><br>
211 New fields:<br>
212 &nbsp;&nbsp;&nbsp;&nbsp;public static final int
213 ALLOW_VERTEX_ATTR_INDEX_READ<br>
214 &nbsp;&nbsp;&nbsp;&nbsp;public static final int
215 ALLOW_VERTEX_ATTR_INDEX_WRITE<br>
216 <br>
217 New constructor:<br>
218 &nbsp;&nbsp;&nbsp;&nbsp;public IndexedGeometryArray(... int
219 vertexAttrCount, int[] vertexAttrSizes ...)<br>
220 <br>
221 New methods:<br>
222 &nbsp;&nbsp;&nbsp;&nbsp;public void setInitialVertexAttrIndex(int
223 vertexAttrNum, int
224 initialVertexAttrIndex)<br>
225 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttrIndex(int
226 vertexAttrNum, int
227 index, int
228 vertexAttrIndex)<br>
229 &nbsp;&nbsp;&nbsp;&nbsp;public void setVertexAttrIndices(int
230 vertexAttrNum, int
231 index, int[]
232 vertexAttrIndices)<br>
233 &nbsp;&nbsp;&nbsp;&nbsp;public int getVertexAttrIndex(int
234 vertexAttrNum, int index)<br>
235 &nbsp;&nbsp;&nbsp;&nbsp;public void getVertexAttrIndices(int
236 vertexAttrNum, int
237 index, int[]
238 vertexAttrIndices)<br>
239 <br>
240 </code>
241 </ul>
242 <p>The following new constructors are added to
243 existing GeometryArray subclasses:</p>
244 <ul>
245 <code> <span style="font-weight: bold; text-decoration: underline;">PointArray</span><br>
246 public PointArray(... int vertexAttrCount,
247 int[] vertexAttrSizes)<br>
248 <br>
249 <span style="font-weight: bold; text-decoration: underline;">LineArray</span><br>
250 public LineArray(... int vertexAttrCount, int[]
251 vertexAttrSizes)<br>
252 <br>
253 <br>
254 <span style="font-weight: bold; text-decoration: underline;">TriangleArray</span><br>
255 public TriangleArray(... int vertexAttrCount,
256 int[] vertexAttrSizes)<br>
257 <br>
258 <br>
259 <span style="font-weight: bold; text-decoration: underline;">QuadArray</span><br>
260 public QuadArray(... int vertexAttrCount, int[]
261 vertexAttrSizes)<br>
262 <br>
263 <br>
264 <span style="font-weight: bold; text-decoration: underline;">GeometryStripArray</span><br>
265 public GeometryStripArray(... int
266 vertexAttrCount, int[] vertexAttrSizes ...)<br>
267 <br>
268 <br>
269 <span style="font-weight: bold; text-decoration: underline;">LineStripArray</span><br>
270 public LineStripArray(... int vertexAttrCount,
271 int[] vertexAttrSizes ...)<br>
272 <br>
273 <br>
274 <span style="font-weight: bold; text-decoration: underline;">TriangleStripArray</span><br>
275 public TriangleStripArray(... int
276 vertexAttrCount, int[] vertexAttrSizes ...)<br>
277 <br>
278 <br>
279 <span style="text-decoration: underline; font-weight: bold;">TriangleFanArray</span><br>
280 public TriangleFanArray(... int
281 vertexAttrCount, int[] vertexAttrSizes ...)<br>
282 <br>
283 <br>
284 <span style="font-weight: bold; text-decoration: underline;">IndexedPointArray</span><br>
285 public IndexedPointArray(... int
286 vertexAttrCount, int[] vertexAttrSizes ...)<br>
287 <br>
288 <br>
289 <span style="font-weight: bold; text-decoration: underline;">IndexedLineArray</span><br>
290 public IndexedLineArray(... int
291 vertexAttrCount, int[] vertexAttrSizes ...)<br>
292 <br>
293 <br>
294 <span style="font-weight: bold; text-decoration: underline;">IndexedTriangleArray</span><br>
295 public IndexedTriangleArray(... int
296 vertexAttrCount, int[] vertexAttrSizes ...)<br>
297 <br>
298 <br>
299 <span style="font-weight: bold; text-decoration: underline;">IndexedQuadArray</span><br>
300 public IndexedQuadArray(... int
301 vertexAttrCount, int[] vertexAttrSizes ...)<br>
302 <br>
303 <br>
304 <span style="font-weight: bold; text-decoration: underline;">IndexedGeometryStripArray</span><br>
305 public IndexedGeometryStripArray(... int
306 vertexAttrCount, int[] vertexAttrSizes ...)<br>
307 <br>
308 <br>
309 <span style="font-weight: bold; text-decoration: underline;">IndexedLineStripArray</span><br>
310 public IndexedLineStripArray(... int
311 vertexAttrCount, int[] vertexAttrSizes ...)<br>
312 <br>
313 <br>
314 <span style="font-weight: bold; text-decoration: underline;">IndexedTriangleStripArray</span><br>
315 public IndexedTriangleStripArray(... int
316 vertexAttrCount, int[] vertexAttrSizes ...)<br>
317 <br>
318 <br>
319 <span style="text-decoration: underline; font-weight: bold;">IndexedTriangleFanArray</span><br>
320 public IndexedTriangleFanArray(... int
321 vertexAttrCount, int[] vertexAttrSizes ...)<br>
322 </code>
323 </ul>
324 <p><br>
325 </p>
326 <h3><a name="Default_values"></a>2. Default values for read capability
327 bits<br>
328 </h3>
329 <p>Capability bits control whether data in a Java&nbsp;3D scene graph
330 object
331 may be read or written when it is part of a live or compiled subgraph.
332 We propose to change the default value for all read capability bits to
333 true, meaning that all attributes may be read by default (the default
334 value for all write capability bits will remain false, meaning that no
335 attributes may be written by default). Note that read capability bits
336 are defined as those capability bits of the form <code>ALLOW_*_READ</code>,
337 plus the <code>ALLOW_INTERSECT</code> capability bit.<br>
338 </p>
339 <code></code>
340 <p><br>
341 </p>
342 <h3><a name="Picking"></a>3. Picking<br>
343 </h3>
344 <p>We propose to add a new PickInfo class (with an inner class to hold
345 intersection information), and new core picking methods that return
346 objects of this new class type.<br>
347 </p>
348 <p>New Classes:<br>
349 </p>
350 <ul>
351 <code><span style="font-weight: bold; text-decoration: underline;"></span>public
352 class <span style="font-weight: bold;">PickInfo</span> extends Object<br>
353 public class <span style="font-weight: bold;">PickInfo.IntersectionInfo</span>
354 extends
355 Object<br>
356 </code>
357 </ul>
358 <p>New methods:<br>
359 </p>
360 <ul>
361 <code><span style="font-weight: bold; text-decoration: underline;">Locale</span><br>
362 public PickInfo[] pickAll( int mode, int flags,
363 PickShape pickShape )<br>
364 public PickInfo[] pickAllSorted( int mode, int
365 flags, PickShape pickShape )<br>
366 public PickInfo pickClosest( int mode, int
367 flags, PickShape pickShape )<br>
368 public PickInfo pickAny( int mode, int flags,
369 PickShape pickShape )<br>
370 <br>
371 <br>
372 <span style="font-weight: bold; text-decoration: underline;">BranchGroup</span><br>
373 public PickInfo[] pickAll( int mode, int flags,
374 PickShape pickShape )<br>
375 public PickInfo[] pickAllSorted( int mode, int
376 flags, PickShape pickShape )<br>
377 public PickInfo pickClosest( int mode, int
378 flags, PickShape pickShape )<br>
379 public PickInfo pickAny( int mode, int flags,
380 PickShape pickShape )</code>
381 </ul>
382 <p><br>
383 </p>
384 <h3><a name="Stencil"></a>4. Stencil<br>
385 </h3>
386 <p>We propose new stencil functionality. Here are the proposed new
387 fields and methods:<br>
388 </p>
389 <ul>
390 <code> </code><code><span
391 style="font-weight: bold; text-decoration: underline;">RenderingAttributes</span><br>
392 New fields:<br>
393 </code><code>&nbsp;&nbsp;&nbsp;&nbsp;public static final int
394 ALLOW_STENCIL_ATTRIBUTES_READ<br>
395 &nbsp;&nbsp;&nbsp;&nbsp;public static final int
396 ALLOW_STENCIL_ATTRIBUTES_WRITE<br>
397 </code><code>&nbsp;&nbsp;&nbsp; public static final int STENCIL_KEEP<br>
398 &nbsp;&nbsp;&nbsp;&nbsp;public static final int STENCIL_ZERO<br>
399 &nbsp;&nbsp;&nbsp;&nbsp;public static final int STENCIL_REPLACE<br>
400 &nbsp;&nbsp;&nbsp;&nbsp;public static final int STENCIL_INCR<br>
401 &nbsp;&nbsp;&nbsp;&nbsp;public static final int STENCIL_DECR<br>
402 &nbsp;&nbsp;&nbsp;&nbsp;public static final int STENCIL_INVERT<br>
403 <br>
404 New methods:<br>
405 &nbsp;&nbsp;&nbsp; public void setStencilEnable(boolean enable)<br>
406 &nbsp;&nbsp;&nbsp;&nbsp;public boolean getStencilEnable()<br>
407 &nbsp;&nbsp;&nbsp;&nbsp;public void setStencilOp(int failOp, int
408 zFailOp, int zPassOp)<br>
409 &nbsp;&nbsp;&nbsp;&nbsp;public void setStencilOp(int[] stencilOps)<br>
410 &nbsp;&nbsp;&nbsp;&nbsp;public void getStencilOp(int[] stencilOps)<br>
411 &nbsp;&nbsp;&nbsp;&nbsp;public void setStencilFunction(int function,
412 int refValue, int compareMask)<br>
413 &nbsp;&nbsp;&nbsp;&nbsp;public void setStencilFunction(int[] params)<br>
414 &nbsp;&nbsp;&nbsp;&nbsp;public void getStencilFunction(int[] params)<br>
415 &nbsp;&nbsp;&nbsp;&nbsp;public void setStencilWriteMask(int mask)<br>
416 &nbsp;&nbsp;&nbsp;&nbsp;public int getStencilWriteMask()<br>
417 <br>
418 <span style="font-weight: bold; text-decoration: underline;">GraphicsConfigTemplate3D</span><br>
419 New methods:<br>
420 &nbsp;&nbsp;&nbsp;&nbsp;public void setStencilSize(int value)<br>
421 &nbsp;&nbsp;&nbsp;&nbsp;public int getStencilSize()<br>
422 </code>
423 </ul>
424 <p><br>
425 </p>
426 <h3><a name="Rendering_attributes"></a>5. Rendering attributes<br>
427 </h3>
428 <p>We propose to add new rendering attributes/modes to enable
429 applications to specify the depth test function, additional raster
430 operations, and additional blending modes. The new fields and methods
431 are as follows:<br>
432 </p>
433 <ul>
434 <code> <span style="text-decoration: underline; font-weight: bold;">RenderingAttributes</span><br>
435 New fields:<br>
436 &nbsp;&nbsp;&nbsp; public static final int
437 ALLOW_DEPTH_TEST_FUNCTION_READ<br>
438 &nbsp;&nbsp;&nbsp;&nbsp;public static final int
439 ALLOW_DEPTH_TEST_FUNCTION_WRITE<br>
440 &nbsp;&nbsp;&nbsp; public static final int ROP_CLEAR<br>
441 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ROP_AND<br>
442 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ROP_AND_REVERSE<br>
443 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ROP_AND_INVERTED<br>
444 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ROP_NOOP<br>
445 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ROP_OR<br>
446 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ROP_NOR<br>
447 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ROP_EQUIV<br>
448 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ROP_INVERT<br>
449 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ROP_OR_REVERSE<br>
450 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ROP_COPY_INVERTED<br>
451 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ROP_OR_INVERTED<br>
452 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ROP_NAND<br>
453 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ROP_SET<br>
454 <br>
455 New methods:<br>
456 </code><code>&nbsp;&nbsp;&nbsp; public void setDepthTestFunction(int
457 function)<br>
458 &nbsp;&nbsp;&nbsp;&nbsp;public int getDepthTestFunction()<br>
459 </code><br>
460 <code></code><code><span
461 style="font-weight: bold; text-decoration: underline;">TransparencyAttributes</span><br>
462 New fields:<br>
463 &nbsp;&nbsp;&nbsp;&nbsp;public static final int BLEND_DST_COLOR<br>
464 &nbsp;&nbsp;&nbsp;&nbsp;public static final int
465 BLEND_ONE_MINUS_DST_COLOR<br>
466 &nbsp;&nbsp;&nbsp;&nbsp;public static final int BLEND_SRC_COLOR<br>
467 &nbsp;&nbsp;&nbsp;&nbsp;public static final int
468 BLEND_ONE_MINUS_SRC_COLOR<br>
469 </code>
470 </ul>
471 <p><br>
472 </p>
473 <h3><a name="Other_minor_features"></a>6. Other minor features<br>
474 </h3>
475 <p>We propose to add the following new features: a name for all scene
476 graph objects; the ability to get the Locale or parent from a live or
477 compiled scene graph, a scene graph structure change listener, and a
478 method to get the tessellated glyph geometry for a character in a 3D
479 font.
480 </p>
481 <p>The following new class has been added:</p>
482 <ul>
483 <code>public interface <span style="font-weight: bold;">GraphStructureChangeListener</span><br>
484 </code>
485 </ul>
486 <p>The new fields and methods are as follows:</p>
487 <ul>
488 <code> <span style="font-weight: bold; text-decoration: underline;">VirtualUniverse</span><br>
489 New methods:<br>
490 &nbsp;&nbsp;&nbsp;&nbsp;public void
491 addGraphStructureChangeListener(GraphStructureChangeListener listener)<br>
492 &nbsp;&nbsp;&nbsp;&nbsp;public void
493 removeGraphStructureChangeListener(GraphStructureChangeListener
494 listener)<br>
495 <br>
496 <br>
497 <span style="font-weight: bold; text-decoration: underline;">SceneGraphObject</span><br>
498 New methods:<br>
499 &nbsp;&nbsp;&nbsp;&nbsp;public void setName(String name)<br>
500 &nbsp;&nbsp;&nbsp;&nbsp;public String getName()<br>
501 <br>
502 <br>
503 <span style="font-weight: bold; text-decoration: underline;">Node</span><br>
504 New fields:<br>
505 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ALLOW_PARENT_READ<br>
506 &nbsp;&nbsp;&nbsp;&nbsp;public static final int ALLOW_LOCALE_READ<br>
507 <br>
508 New methods:<br>
509 &nbsp;&nbsp;&nbsp;&nbsp;public Locale getLocale()<br>
510 <br>
511 <br>
512 <span style="font-weight: bold; text-decoration: underline;">Font3D</span><br>
513 New methods:<br>
514 &nbsp;&nbsp;&nbsp;&nbsp;public GeometryArray getGlyphGeometry(char c)<br>
515 </code>
516 </ul>
517 <p><br>
518 </p>
519 <h3><a name="Deprecated_API"></a>7. Deprecated API<br>
520 </h3>
521 <p>We propose to deprecate the following classes:</p>
522 <ul>
523 <code> <span style="font-weight: bold;">CompressedGeometry</span><br>
524 <span style="font-weight: bold;">CompressedGeometryHeader</span><br>
525 <span style="font-weight: bold;">PickPoint</span><br>
526 <span style="font-weight: bold;">Morph</span><br>
527 </code>
528 </ul>
529 <p>We propose to deprecate the following fields and methods:</p>
530 <ul>
531 <code> <span style="font-weight: bold; text-decoration: underline;">Sensor</span><br>
532 Deprecated fields:<br>
533 &nbsp;&nbsp;&nbsp;&nbsp;public static final int PREDICT_NONE<br>
534 &nbsp;&nbsp;&nbsp;&nbsp;public static final int PREDICT_NEXT_FRAME_TIME<br>
535 &nbsp;&nbsp;&nbsp;&nbsp;public static final int NO_PREDICTOR<br>
536 &nbsp;&nbsp;&nbsp;&nbsp;public static final int HEAD_PREDICTOR<br>
537 &nbsp;&nbsp;&nbsp;&nbsp;public static final int HAND_PREDICTOR<br>
538 <br>
539 Deprecated methods:<br>
540 &nbsp;&nbsp;&nbsp;&nbsp;public void setPredictor(int predictor)<br>
541 &nbsp;&nbsp;&nbsp;&nbsp;public int getPredictor()<br>
542 &nbsp;&nbsp;&nbsp;&nbsp;public void setPredictionPolicy(int policy)<br>
543 &nbsp;&nbsp;&nbsp;&nbsp;public int getPredictionPolicy()<br>
544 &nbsp;&nbsp;&nbsp;&nbsp;public void getRead(Transform3D read, long
545 deltaT)<br>
546 </code>
547 </ul>
548 <p><br>
549 </p>
550 <h2>III. Deferred Changes</h2>
551 <p><br>
552 </p>
553 </body>
554 </html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta content="text/html; charset=ISO-8859-1"
4 http-equiv="content-type">
5 <title>Java 3D 1.5 Change Log</title>
6 </head>
7 <body>
8 <h1>Java&nbsp;3D API version 1.5 Change Log</h1>
9 <p>Here are the proposed changes for Java&nbsp;3D version 1.5. These
10 proposed changes are a results of discussion and collaboration with the
11 Java&nbsp;3D community on java.net (see
12 <a href="https://java3d.dev.java.net">https://java3d.dev.java.net</a>).
13 They are already part of daily and periodic stable builds available on
14 java.net.</p>
15 <h2>I. Proposed Changes<br>
16 </h2>
17 <p>Here is the list of proposed changes for the Java&nbsp;3D 1.5 API:<br>
18 </p>
19 <ol>
20 <li><a href="#NPOT_Textures">Non-power-of-two textures</a></li>
21 <li><a href="#NIO_Image_Buffer">NIO image buffer support for textures</a></li>
22 <li><a href="#By_Ref_Indices">By-reference support for geometry
23 indices</a></li>
24 <li><a href="#RenderingErrorListener">Rendering error listeners</a><br>
25 </li>
26 <li><a href="#vecmath_accessors_mutators">Vecmath accessors/mutators</a></li>
27 <li><a href="#Deprecated_API">Deprecated API</a></li>
28 </ol>
29 <p>For a complete description of these changes, please see the
30 proposed API specification (javadoc) for the 1.5 version of the
31 Java&nbsp;3D API.
32 </p>
33 <h3><a name="NPOT_Textures"></a>1. Non-power-of-two textures</h3>
34 <p>We propose to add non-power-of-two textures to Java&nbsp;3D 1.5.
35 Currently, the width, height, and depth of all textures must be an
36 exact power of two. Most graphics cards now support non-power-of-two
37 textures, so we propose to allow this in Java 3D. Since not all
38 graphics drivers support this feature, we will add a new
39 <code>"textureNonPowerOfTwoAvailable"</code> property to
40 Canvas3D.queryProperties that will indicate whether or not
41 non-power-of-two textures are supported. If this
42 property is set to <code>true</code>, then non-power-of-two textures
43 are rendered normally. If this property is set to <code>false</code>,
44 then the graphics driver or card does not support non-power-of-two
45 textures; texture mapping will be disabled if non-power-of-two
46 textures are rendered on a Canvas3D that doesn't support them.<br>
47 </p>
48 <p><br>
49 </p>
50 <h3><a name="NIO_Image_Buffer"></a>2. NIO image buffer support for
51 textures</h3>
52 <p>We propose to create a new javax.media.j3d.NioImageBuffer class, a
53 wrapper for an image whose DataBuffer
54 is specified via an appropriate subclass of java.nio.Buffer:
55 ByteBuffer or IntBuffer,
56 depending on the type of image. When using IntBuffer,
57 the byte order of the buffer must match the native byte order of the
58 underlying platform.
59 </p>
60 <p>New public classes:<br>
61 </p>
62 <ul>
63 <code><span style="font-weight: bold; text-decoration: underline;"></span>public
64 class <span style="font-weight: bold;">NioImageBuffer</span> extends
65 Object<br>
66 </code>
67 </ul>
68 <p>New constructors and methods:<br>
69 </p>
70 <ul>
71 <code><span style="font-weight: bold; text-decoration: underline;">ImageComponent</span><br>
72 New enums:<br>
73 &nbsp;&nbsp;&nbsp; public enum ImageClass {<br>
74 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BUFFERED_IMAGE,
75 RENDERED_IMAGE, NIO_IMAGE_BUFFER<br>
76 &nbsp;&nbsp;&nbsp; }<br>
77 <br>
78 New methods:<br>
79 &nbsp;&nbsp;&nbsp; public ImageClass getImageClass()<br>
80 <br>
81 <span style="font-weight: bold; text-decoration: underline;">ImageComponent2D</span><br>
82 New constructors:<br>
83 &nbsp;&nbsp;&nbsp; public ImageComponent2D(int format,<br>
84 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
85 NioImageBuffer image,<br>
86 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
87 boolean byReference, boolean yUp)<br>
88 <br>
89 New methods:<br>
90 &nbsp;&nbsp;&nbsp; public void set(NioImageBuffer image)<br>
91 &nbsp;&nbsp;&nbsp; public NioImageBuffer getNioImage()<br>
92 <br>
93 <span style="font-weight: bold; text-decoration: underline;">ImageComponent3D</span><br>
94 New constructors:<br>
95 &nbsp;&nbsp;&nbsp; public ImageComponent3D(int format, NioImageBuffer[]
96 images,<br>
97 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
98 boolean byReference, boolean yUp)<br>
99 <br>
100 New methods:<br>
101 &nbsp;&nbsp;&nbsp; public void set(NioImageBuffer[] images)<br>
102 &nbsp;&nbsp;&nbsp; public void set(int index, NioImageBuffer image)<br>
103 &nbsp;&nbsp;&nbsp; public NioImageBuffer[] getNioImage()<br>
104 &nbsp;&nbsp;&nbsp; public NioImageBuffer getNioImage(int index)<br>
105 </code>
106 </ul>
107 <p><br>
108 </p>
109 <h3><a name="By_Ref_Indices"></a>3. By-reference support for geometry
110 indices<br>
111 </h3>
112 <p>We propose to add support for setting the coordinate indices
113 of IndexedGeometryArray objects "by-reference". Currently, the
114 coordinate indices array is
115 set "by-copy" even for by-reference geometry, resulting in excessive
116 memory usage. Though the
117 excess memory usage is temporary, since it happens only at the time
118 of creating an internal copy of the user-specified indices array,
119 nevertheless it can turn out to be of significant concern especially
120 for very large geometries or for dynamically changing geometry. The
121 fact that the
122 graphics drivers have long supported this feature makes the
123 incorporation of this feature attractive, as
124 it entails no special hardware support.<br>
125 </p>
126 <p>New fields and methods:<br>
127 </p>
128 <ul>
129 <code><span style="font-weight: bold; text-decoration: underline;">GeometryArray</span><br>
130 New fields:<br>
131 &nbsp;&nbsp;&nbsp; public static final int BY_REFERENCE_INDICES<br>
132 <br>
133 <span style="text-decoration: underline; font-weight: bold;">IndexedGeometryArray</span><br>
134 New methods:<br>
135 &nbsp;&nbsp;&nbsp; public void setCoordIndicesRef(int
136 coordIndices[])<br>
137 &nbsp;&nbsp;&nbsp; public int[] getCoordIndicesRef()<br>
138 </code>
139 </ul>
140 <p><br>
141 </p>
142 <h3><a name="RenderingErrorListener"></a>4. Rendering error listener</h3>
143 <p>We propose to add a rendering error class and error listener
144 interface that applications can use to detect rendering errors that are
145 caught by the Java 3D rendering system. The default error listener, if
146 no user-specified error listeners are added, prints out the error
147 message and exits.<br>
148 </p>
149 <p>The following new classes and interfaces are proposed:</p>
150 <ul>
151 <code>public class RenderingError extends <span
152 style="font-weight: bold;">Object</span><br>
153 public interface <span style="font-weight: bold;">RenderingErrorListener</span><br>
154 </code>
155 </ul>
156 <p>The following new methods are proposed:</p>
157 <ul>
158 <code><span style="font-weight: bold; text-decoration: underline;">VirtualUniverse</span><br>
159 New methods:<br>
160 &nbsp;&nbsp;&nbsp; public static void
161 addRenderingErrorListener(RenderingErrorListener listener)<br>
162 &nbsp;&nbsp;&nbsp; public static void
163 removeRenderingErrorListener(RenderingErrorListener listener)<br>
164 </code>
165 </ul>
166 <p><br>
167 </p>
168 <h3><a name="vecmath_accessors_mutators"></a>5. Vecmath
169 accessors/mutators</h3>
170 <p>We propose to add accessors and mutators to all vecmath classes with
171 publicly accessible fields. This follows the bean pattern, and allows
172 these classes to be read and written by bean-aware tools, for example,
173 the XMLEncoder. The following
174 classes need public accessors and mutators (e.g., setX(), getX(),
175 setY(), and so forth):<br>
176 </p>
177 <ul>
178 <code>Matrix3d<br>
179 Matrix3f<br>
180 Matrix4d<br>
181 Matrix4f<br>
182 Tuple2d<br>
183 Tuple2f<br>
184 Tuple2i<br>
185 Tuple3b<br>
186 Tuple3d<br>
187 Tuple3f<br>
188 Tuple3i<br>
189 Tuple4b<br>
190 Tuple4d<br>
191 Tuple4f<br>
192 Tuple4i<br>
193 </code>
194 </ul>
195 <p><br>
196 </p>
197 <h3><a name="Deprecated_API"></a>6. Deprecated API</h3>
198 <p>We propose to deprecate the following fields and methods relating to
199 the obsolete texture functionality.
200 </p>
201 <ul>
202 <code><span style="font-weight: bold; text-decoration: underline;">Texture2D</span><br>
203 Deprecated fields:<br>
204 &nbsp;&nbsp;&nbsp; public static final int ALLOW_DETAIL_TEXTURE_READ<br>
205 &nbsp;&nbsp;&nbsp; public static final int LINEAR_DETAIL<br>
206