Update upstream source from tag 'upstream/1.5.2+dfsg'
Update to upstream version '1.5.2+dfsg'
with Debian dir f26580f2d08c075eec1df721ccf50b6642b2424e
Emmanuel Bourg
4 years ago
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 <cvs-root-dir></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><ant-root-dir>/bin<br> | |
98 | </li> | |
99 | <li><jdk-root-dir>/bin<br> | |
100 | </li> | |
101 | <li><compiler-root-dir>/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 <cvs-root-dir>/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/<platform>/opt | |
121 | where <platform> 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 -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 | ||
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 | ||
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 | ||
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 | ||
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 3D API version 1.4 Change Log</h1> | |
9 | <p>Here are the proposed changes for Java 3D version 1.4. These | |
10 | proposed changes are a results of discussion and collaboration with the | |
11 | Java 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 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 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 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 | 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 | public void | |
108 | addShaderErrorListener(ShaderErrorListener listener)<br> | |
109 | 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 | public static final int ALLOW_VERTEX_ATTR_READ<br> | |
116 | public static final int ALLOW_VERTEX_ATTR_WRITE<br> | |
117 | public static final int VERTEX_ATTRIBUTES<br> | |
118 | <br> | |
119 | New constructor:<br> | |
120 | public GeometryArray(... int | |
121 | vertexAttrCount, int[] | |
122 | vertexAttrSizes)<br> | |
123 | <br> | |
124 | New methods:<br> | |
125 | public int getVertexAttrCount()<br> | |
126 | public void getVertexAttrSizes(int[] | |
127 | vertexAttrSizes)<br> | |
128 | public void setVertexAttr(int vertexAttrNum, | |
129 | int index, float[] | |
130 | vertexAttr)<br> | |
131 | public void setVertexAttr(int vertexAttrNum, | |
132 | int index, Point2f | |
133 | vertexAttr)<br> | |
134 | public void setVertexAttr(int vertexAttrNum, | |
135 | int index, Point3f | |
136 | vertexAttr)<br> | |
137 | public void setVertexAttr(int vertexAttrNum, | |
138 | int index, Point4f | |
139 | vertexAttr)<br> | |
140 | public void setVertexAttrs(int vertexAttrNum, | |
141 | int index, float[] | |
142 | vertexAttrs)<br> | |
143 | public void setVertexAttrs(int vertexAttrNum, | |
144 | int index, Point2f[] | |
145 | vertexAttrs)<br> | |
146 | public void setVertexAttrs(int vertexAttrNum, | |
147 | int index, Point3f[] | |
148 | vertexAttrs)<br> | |
149 | public void setVertexAttrs(int vertexAttrNum, | |
150 | int index, Point4f[] | |
151 | vertexAttrs)<br> | |
152 | public void setVertexAttrs(int vertexAttrNum, | |
153 | int index,<br> | |
154 | float[] | |
155 | vertexAttrs, int | |
156 | start, int length)<br> | |
157 | public void setVertexAttrs(int vertexAttrNum, | |
158 | int index,<br> | |
159 | Point2f[] | |
160 | vertexAttrs, int | |
161 | start, int length)<br> | |
162 | public void setVertexAttrs(int vertexAttrNum, | |
163 | int index,<br> | |
164 | Point3f[] | |
165 | vertexAttrs, int | |
166 | start, int length)<br> | |
167 | public void setVertexAttrs(int vertexAttrNum, | |
168 | int index,<br> | |
169 | Point4f[] | |
170 | vertexAttrs, int | |
171 | start, int length)<br> | |
172 | public void getVertexAttr(int vertexAttrNum, | |
173 | int index, float[] | |
174 | vertexAttr)<br> | |
175 | public void getVertexAttr(int vertexAttrNum, | |
176 | int index, Point2f | |
177 | vertexAttr)<br> | |
178 | public void getVertexAttr(int vertexAttrNum, | |
179 | int index, Point3f | |
180 | vertexAttr)<br> | |
181 | public void getVertexAttr(int vertexAttrNum, | |
182 | int index, Point4f | |
183 | vertexAttr)<br> | |
184 | public void getVertexAttrs(int vertexAttrNum, | |
185 | int index, float[] | |
186 | vertexAttrs)<br> | |
187 | public void getVertexAttrs(int vertexAttrNum, | |
188 | int index, Point2f[] | |
189 | vertexAttrs)<br> | |
190 | public void getVertexAttrs(int vertexAttrNum, | |
191 | int index, Point3f[] | |
192 | vertexAttrs)<br> | |
193 | public void getVertexAttrs(int vertexAttrNum, | |
194 | int index, Point4f[] | |
195 | vertexAttrs)<br> | |
196 | public void setInitialVertexAttrIndex(int | |
197 | vertexAttrNum, int | |
198 | initialVertexAttrIndex)<br> | |
199 | public int getInitialVertexAttrIndex(int | |
200 | vertexAttrNum)<br> | |
201 | public void setVertexAttrRefBuffer(int | |
202 | vertexAttrNum, J3DBuffer vertexAttrs)<br> | |
203 | public J3DBuffer getVertexAttrRefBuffer(int | |
204 | vertexAttrNum)<br> | |
205 | public void setVertexAttrRefFloat(int | |
206 | vertexAttrNum, float[] vertexAttrs)<br> | |
207 | 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 | public static final int | |
213 | ALLOW_VERTEX_ATTR_INDEX_READ<br> | |
214 | public static final int | |
215 | ALLOW_VERTEX_ATTR_INDEX_WRITE<br> | |
216 | <br> | |
217 | New constructor:<br> | |
218 | public IndexedGeometryArray(... int | |
219 | vertexAttrCount, int[] vertexAttrSizes ...)<br> | |
220 | <br> | |
221 | New methods:<br> | |
222 | public void setInitialVertexAttrIndex(int | |
223 | vertexAttrNum, int | |
224 | initialVertexAttrIndex)<br> | |
225 | public void setVertexAttrIndex(int | |
226 | vertexAttrNum, int | |
227 | index, int | |
228 | vertexAttrIndex)<br> | |
229 | public void setVertexAttrIndices(int | |
230 | vertexAttrNum, int | |
231 | index, int[] | |
232 | vertexAttrIndices)<br> | |
233 | public int getVertexAttrIndex(int | |
234 | vertexAttrNum, int index)<br> | |
235 | 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 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> public static final int | |
394 | ALLOW_STENCIL_ATTRIBUTES_READ<br> | |
395 | public static final int | |
396 | ALLOW_STENCIL_ATTRIBUTES_WRITE<br> | |
397 | </code><code> public static final int STENCIL_KEEP<br> | |
398 | public static final int STENCIL_ZERO<br> | |
399 | public static final int STENCIL_REPLACE<br> | |
400 | public static final int STENCIL_INCR<br> | |
401 | public static final int STENCIL_DECR<br> | |
402 | public static final int STENCIL_INVERT<br> | |
403 | <br> | |
404 | New methods:<br> | |
405 | public void setStencilEnable(boolean enable)<br> | |
406 | public boolean getStencilEnable()<br> | |
407 | public void setStencilOp(int failOp, int | |
408 | zFailOp, int zPassOp)<br> | |
409 | public void setStencilOp(int[] stencilOps)<br> | |
410 | public void getStencilOp(int[] stencilOps)<br> | |
411 | public void setStencilFunction(int function, | |
412 | int refValue, int compareMask)<br> | |
413 | public void setStencilFunction(int[] params)<br> | |
414 | public void getStencilFunction(int[] params)<br> | |
415 | public void setStencilWriteMask(int mask)<br> | |
416 | public int getStencilWriteMask()<br> | |
417 | <br> | |
418 | <span style="font-weight: bold; text-decoration: underline;">GraphicsConfigTemplate3D</span><br> | |
419 | New methods:<br> | |
420 | public void setStencilSize(int value)<br> | |
421 | 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 | public static final int | |
437 | ALLOW_DEPTH_TEST_FUNCTION_READ<br> | |
438 | public static final int | |
439 | ALLOW_DEPTH_TEST_FUNCTION_WRITE<br> | |
440 | public static final int ROP_CLEAR<br> | |
441 | public static final int ROP_AND<br> | |
442 | public static final int ROP_AND_REVERSE<br> | |
443 | public static final int ROP_AND_INVERTED<br> | |
444 | public static final int ROP_NOOP<br> | |
445 | public static final int ROP_OR<br> | |
446 | public static final int ROP_NOR<br> | |
447 | public static final int ROP_EQUIV<br> | |
448 | public static final int ROP_INVERT<br> | |
449 | public static final int ROP_OR_REVERSE<br> | |
450 | public static final int ROP_COPY_INVERTED<br> | |
451 | public static final int ROP_OR_INVERTED<br> | |
452 | public static final int ROP_NAND<br> | |
453 | public static final int ROP_SET<br> | |
454 | <br> | |
455 | New methods:<br> | |
456 | </code><code> public void setDepthTestFunction(int | |
457 | function)<br> | |
458 | 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 | public static final int BLEND_DST_COLOR<br> | |
464 | public static final int | |
465 | BLEND_ONE_MINUS_DST_COLOR<br> | |
466 | public static final int BLEND_SRC_COLOR<br> | |
467 | 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 | public void | |
491 | addGraphStructureChangeListener(GraphStructureChangeListener listener)<br> | |
492 | 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 | public void setName(String name)<br> | |
500 | 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 | public static final int ALLOW_PARENT_READ<br> | |
506 | public static final int ALLOW_LOCALE_READ<br> | |
507 | <br> | |
508 | New methods:<br> | |
509 | 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 | 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 | public static final int PREDICT_NONE<br> | |
534 | public static final int PREDICT_NEXT_FRAME_TIME<br> | |
535 | public static final int NO_PREDICTOR<br> | |
536 | public static final int HEAD_PREDICTOR<br> | |
537 | public static final int HAND_PREDICTOR<br> | |
538 | <br> | |
539 | Deprecated methods:<br> | |
540 | public void setPredictor(int predictor)<br> | |
541 | public int getPredictor()<br> | |
542 | public void setPredictionPolicy(int policy)<br> | |
543 | public int getPredictionPolicy()<br> | |
544 | 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 3D API version 1.5 Change Log</h1> | |
9 | <p>Here are the proposed changes for Java 3D version 1.5. These | |
10 | proposed changes are a results of discussion and collaboration with the | |
11 | Java 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 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 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 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 | public enum ImageClass {<br> | |
74 | BUFFERED_IMAGE, | |
75 | RENDERED_IMAGE, NIO_IMAGE_BUFFER<br> | |
76 | }<br> | |
77 | <br> | |
78 | New methods:<br> | |
79 | public ImageClass getImageClass()<br> | |
80 | <br> | |
81 | <span style="font-weight: bold; text-decoration: underline;">ImageComponent2D</span><br> | |
82 | New constructors:<br> | |
83 | public ImageComponent2D(int format,<br> | |
84 | | |
85 | NioImageBuffer image,<br> | |
86 | | |
87 | boolean byReference, boolean yUp)<br> | |
88 | <br> | |
89 | New methods:<br> | |
90 | public void set(NioImageBuffer image)<br> | |
91 | public NioImageBuffer getNioImage()<br> | |
92 | <br> | |
93 | <span style="font-weight: bold; text-decoration: underline;">ImageComponent3D</span><br> | |
94 | New constructors:<br> | |
95 | public ImageComponent3D(int format, NioImageBuffer[] | |
96 | images,<br> | |
97 | | |
98 | boolean byReference, boolean yUp)<br> | |
99 | <br> | |
100 | New methods:<br> | |
101 | public void set(NioImageBuffer[] images)<br> | |
102 | public void set(int index, NioImageBuffer image)<br> | |
103 | public NioImageBuffer[] getNioImage()<br> | |
104 | 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 | 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 | public void setCoordIndicesRef(int | |
136 | coordIndices[])<br> | |
137 | 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 | public static void | |
161 | addRenderingErrorListener(RenderingErrorListener listener)<br> | |
162 | 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 | public static final int ALLOW_DETAIL_TEXTURE_READ<br> | |
205 | public static final int LINEAR_DETAIL<br> | |
206 |