root/juggler/branches/2.2/modules/vrjuggler/RELEASE_NOTES_2_0.txt

Revision 19389, 28.8 kB (checked in by patrick, 2 years ago)

Split up the release notes to keep the main copy focused on the current
version.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1                            VR Juggler Release Notes
2                            ------------------------
3
4 For all versions:
5
6     - See the ChangeLog for more system-level changes that do not directly
7       affect applications.
8     - See the Known Bugs page on the VR Juggler website (www.vrjuggler.org)
9       for the current list of bugs.
10
11 ===============================================================================
12
13  Version: 2.0.0
14 Released: July 5, 2005
15     Please refer to the following to get started with VR Juggler 2.0.0:
16
17        http://www.vrjuggler.org/twiki_public/bin/view/Juggler/MigratingToVrjTwo
18
19     In general, there are no required application or configuration changes
20     to update from VR Juggler 2.0 Beta 3 to 2.0.0.  To update from
21     2.0 Alpha 4, please refer to the instructions below for VR Juggler 2.0
22     Beta 1.
23
24     New in this release:
25        * Support for Windows XP x64 Edition.
26        * Improved stabilitiy for Open Scene Graph applications, especially
27          in multi-threaded, multi-pipe configurations.
28        * OpenGL display windows are closed cleanly now, and overrides of
29          vrj::GlApp::contextClose() are invoked.
30
31  Version: 2.0 Beta 3 (1.1.172-0)
32 Released: June 7, 2005
33
34     Please refer to the following to get started with VR Juggler 2.0 Beta 3:
35
36        http://www.vrjuggler.org/twiki_public/bin/view/Juggler/MigratingToVrjTwo
37
38     In general, there are no required application or configuration changes
39     to update from VR Juggler 2.0 Beta 2 to 2.0 Beta 3.  To update from
40     2.0 Alpha 4, please refer to the instructions below for VR Juggler 2.0
41     Beta 1.  All users updating to 2.0 Beta 3 should read the following
42     carefully:
43
44        * Users of OpenSG and VR Juggler with application objects derived
45          from vrj::OpenSGApp should verify three things:
46
47           1) If vrj::App::getDrawScaleFactor() is overridden, make sure
48              that the method returns the correct scaling value.
49           2) Requests for position matrices from gadget::PositionInterface
50              (or gadget::PositionProxy) objects should use the same
51              conversion factor that is returned by getDrawScaleFactor().
52           3) The application scene graph does not have an extraneous scale
53              node left over from older VR Juggler releases.  There is no
54              need to perform manual scene scaling to handle proper
55              rendering.
56
57        * More parameters can now be configured in the OpenGL frame
58          buffer settings for display windows.  Users are encouraged to
59          load all local .jconf files containing display_window config
60          elements into VRJConfig to be updated.  (After the automatic
61          update, click the "Save All" button to save the updates.)  The
62          update is not required, but it is recommended.
63
64  Version: 2.0 Beta 2 (1.1.167-0)
65 Released: January 18, 2005
66
67     Please refer to the following to get started with VR Juggler 2.0 Beta 2:
68
69        http://www.vrjuggler.org/twiki_public/bin/view/Juggler/MigratingToVrjTwo
70
71     There are no required application or configuration changes to update
72     from VR Juggler 2.0 Beta 1 to 2.0 Beta 2.  To update from 2.0 Alpha 4,
73     please refer to the instructions below for VR Juggler 2.0 Beta 1.
74
75     This release includes many bug fixes and feature enhancements &
76     additions to VRJConfig.  In particular, custom editors have been
77     added for configuring Ascension MotionStar Wireless and Ascension
78     Flock of Birds devices.  All bugs reported with VR Juggler 2.0 Beta 1
79     have been fixed.
80
81  Version: 2.0 Beta 1 (1.1.166-0)
82 Released: December 24, 2004
83
84     Please refer to the following to get started with VR Juggler 2.0 Beta 1:
85
86        http://www.vrjuggler.org/twiki_public/bin/view/Juggler/MigratingToVrjTwo
87
88     Required application and configuration changes for upgrading from all
89     previous versions (including 2.0 Alpha 1 up through 2.0 Alpha 4):
90
91         * XSLT has been added to allow upgrading from old configuration
92           files easier. The following directory contains a collection of
93           XSLT stylesheets that can be used for updating XML-based
94           VR Juggler/JCCL configuration files.  The update process is
95           iterative with each step corresponding to one release of VR Juggler.
96
97              $VJ_BASE_DIR/share/vrjuggler/data/xslt/
98
99           All .jconf files created for VR Juggler 2.0 Alpha 4 or any version
100           of the code since that release must be updated using the script
101           2.0a4-2.0b1.xsl.  Changes were made since 2.0 Alpha 4 that cannot
102           be expressed with the automated updating built in to VRJConfig.
103
104         * After you have performed the update, you should load the migrated
105           configuration file using VRJConfig to complete the update process
106           and to review your configuration.  Some additions to the XML
107           content may be made automatically, and generic identifiers are
108           often used for these additions.  Using VRJConfig, you can make
109           customizations for your specific configuration.
110
111         * Custom configuration definitions (.jdef files) must be updated to
112           versrion 3.1 of the definition file format.  Use the following
113           XSLT to perform the update on all your custom .jdef files:
114
115              $VJ_BASE_DIR/share/jccl/tools/xmlupdate/jdef_3.0-3.1.xsl
116
117         * gadget::EventWindow has been renamed to use the more meaningful
118           name gadget::KeyboardMouse.  Application objects using
119           gadget::EventWindowInterface must simply change the name of the
120           type to gadget::KeyboardMouseInterface.
121
122         * The method vrj::OpenSGApp::getSceneRoot() has been renamed to
123           vrj::OpenSGApp::getScene() to be in line with the OpenGL Performer
124           and OSG application object base classes.
125
126         * The use of GMTL 0.4.5 may require application changes to fix
127           compile errors.  Refer to the following explanation of what to
128           do if uses of gmtl::Vec* cause compile errors:
129
130              http://sourceforge.net/mailarchive/message.php?msg_id=9550350
131
132          * The Sonix class sonix is now in the snx namespace.  To update,
133            change calls to snx::sonix or add 'using namespace snx;' to your
134            code.
135
136          * VPR_PROFILE() has been renamed to VPR_PROFILE_GUARD().
137            VPR_PROFILE_HISTORY() has been renamed to
138            VPR_PROFILE_GUARD_HISTORY().
139
140          * The pseudo-device TweekGadget has been removed from Gadgeteer.
141            Its sole purpose was to work around the lack of support for
142            shared application-specific data in a cluster configuration.
143            That feature has existed since VR Juggler 2.0 Alpha 1, and
144            therefore, TweekGadget had out-lived its usefullness a long
145            time ago.  Users of TweekGadget must switch their code to use
146            the Tweek Java and C++ APIs directly in conjunction with the
147            Gadgeteer type cluster::UserData<T> for sharing arbitrary
148            application-specific data structures.  Programmer's unfamiliar
149            with the direct use of the Tweek C++ and Java APIs are
150            referred to the Tweek /Programmer's Guide/:
151
152               http://www.vrjuggler.org/tweek/docs.php
153
154  Version: 2.0 Alpha 4 (1.1.150-0)
155 Released: April 28, 2004
156
157     Please refer to the following to get started with VR Juggler 2.0 Alpha 4:
158
159        http://www.vrjuggler.org/twiki_public/bin/view/Juggler/MigratingToVrjTwo
160
161     Required application and configuration changes for upgrading from all
162     previous versions (including 2.0 Alpha 1 up through 2.0 Alpha 3):
163
164         * XSLT has been added to allow upgrading from old configuration
165           files easier. The following directory contains a collection of
166           XSLT stylesheets that can be used for updating XML-based
167           VR Juggler/JCCL configuration files.  The update process is
168           iterative with each step corresponding to one release of VR Juggler.
169
170                $VJ_BASE_DIR/share/vrjuggler/data/xslt/
171
172         * After you have performed the update, you should load the generated
173           configuration file using VRJConfig and review your configuration.
174           Some additions to the XML content may be made, and generic
175           identifiers are often used for these additions.  Using VRJConfig,
176           you can make customizations for your specific configuration.
177
178
179                             Performance Monitoring
180                             ======================
181
182      Added the ability to acquire performance statistics in order to analyze
183      the different parts of your application and VR Juggler. The interface
184      is very clean and easy to use. There are three macros that can be used:
185
186
187          * VPR_PROFILE("MyDraw")
188
189             - Creates a guard that adds a timesample to the entry in the
190               profile tree with the given name.
191
192          * VPR_PROFILE_HISTORY("MyDraw", num)
193
194             - Creates a guard that adds a timesample to the entry in the
195               profile tree with the given name and also keep a record
196               of the past num samples.
197
198          * VPR_PROFILE_RESULTS()
199
200             - Prints the profile tree: giving the number of calls, total time,
201               average time, and last num samples.
202
203
204                            Run Time Reconfiguration
205                            ========================
206
207      Implemented the CORBA-based remote run-time reconfiguration feature of
208      VRJConfig which had been missing for quite a while.  VR Juggler now has
209      an exceptionally robust, multi-language architecture for reconfiguring
210      running applications with external tools. The C++/CORBA part of the
211      remote reconfiguration feature is loaded as a plug-in at run time.
212      This allows us to distribute pre-compiled code without requiring that
213      everyone have omniORB installed just to be able to try out VR Juggler.
214      Improved the ability of various parts of the C++ code to be
215      reconfigurable.  Most notably ensuring that device drivers can be
216      reconfigured correctly.
217
218                                   VRJConfig
219                                   =========
220
221      Replaced the old JTreeTable with a much better looking TableLayout that
222      visualizes the structure of the configuration in a more useful manner.
223      Implemented are the much-desired features of drag & drop, copy & paste,
224      and undo/redo. You can now drag configuration elements between
225      configuration contexts.
226
227
228                           Config Element Versioning
229                           =========================
230
231      Automatic updating of out-of-date configuration elements has been added.
232      VRJConfig can detect when a configuration element is out of date with
233      respect to its definition. Through the magic of XSLT, the configuration
234      element can be transformed into the new version automatically.  This means
235      that manual updating of configuration files will be a thing of the past
236      for about 99% of the cases.  (XSLT is not perfect, but it works pretty
237      darn well.)  With the addition of XML Schema support for structural
238      validation of XML input, we are now reaching a point where the full
239      potential of XML is being realized for VR Juggler.
240
241
242                     Config Element Definition Inheritance
243                     =====================================
244
245      Work has been completed for adding inheritance to configuration
246      definitions.  VRJConfig can now handle configuration elements in a more
247      abstract manner.  For example, consider the following snippets of
248      configuration definition files (input_device.jdef,
249      positional_device.jdef, and flock.jdef):
250
251          <definition name="input_device" ...>
252            <definition_version version="1" ...>
253              <property name="device_host" ...>
254                ...
255              </property>
256            </definition_version>
257          </deinition>
258
259          <definition name="positional_device" ...>
260            <definition_version version="1" ...>
261              <parent>input_device</parent>
262              <property name="position_filters" ...>
263                ...
264              </property>
265            </definition_version>
266          </definition>
267
268          <definition name="flock" ...>
269            <definition_version version="1" ...>
270              <parent>positional_device</parent>
271                ...
272            </definition_version>
273          </definition>
274
275      The configuration element for the Ascension Flock of Birds inherits from
276      'positional_device' which in turn inherits from 'input_device'.  Thus,
277      it gets the properties of device_host (needed for the cluster support)
278      and position_filters (needed for all positional devices) automatically
279      without having to redefine them.  VRJConfig can now handle instances of
280      the 'flock' element type as instances of 'positional_device' or
281      'input_device'.  There are a lot of benefits of this capability,
282      although the most useful one for many users is that custom configuration
283      elements can now be integrated into the configuration editing process
284      seamlessly.  For example, if you are writing your own device driver,
285      you can make its configuration definition inherit from the appropriate
286      base types, and then proxy pointers, custom editors, etc. can handle
287      your definition type without requiring modification to the "core" files
288      that come with a VR Juggler distribution.
289
290
291                           VRJConfig - Custom Editors
292                           ==========================
293
294      Much work has been put into the design of high-level editors for
295      complex tasks such as device configuration including proxies, aliases,
296      and screen placement for projection VR systems.  These pieces
297      are still being worked on and represent some of the most cutting-edge
298      features of VRJConfig.  In the case of device configuration, the first
299      custom editor developed was for the Intersense tracking system. You
300      can create a VR Juggler configuration from the ground up using a very
301      intuitive interface that greatly simplifies the complexity of this task.
302
303
304                              VRJConfig - Wizards
305                              ===================
306
307      Wizards have been added into VRJConfig to simplify the creation of
308      general purpose configurations. These include a wizard that steps
309      the user through all steps necessary to create a clustered simulator
310      configuration. This is a rather new feature and will be expanded
311      in the future.
312
313
314                            Building Device Drivers
315                            =======================
316
317      Related to people writing their own device drivers, the Gadgeteer
318      build system has been revamped to make it much, much easier for users to
319      compile their device driver plug-ins with all the correct options.  It
320      is now possible for developers to write a *four-line* makefile that will
321      build a device driver correctly on all supported platforms.
322
323
324                 VR Juggler dynamic application loader/launcher
325                 ==============================================
326
327      The basic idea with this application is to allow remote launching of
328      dynamically loaded VR Juggler application objects.  In other words, it
329      realizes a goal we have had for a long time: a VR Juggler daemon.  If
330      you would like to check it out, it is in the VR Juggler Toolbox CVS
331      repository in the module 'vrjugglerd' (go to http://vrjtoolbox.sf.net/
332      if you're not familiar with the VR Juggler Toolbox).
333
334      The vrjugglerd application is quite simple--surprisingly so.  At this
335      time, it loads application objects written in C++, but it has been
336      designed to allow loading of code from other languages.  In particular,
337      Python and .NET are the two primary non-C++ language options, and support
338      for dynamically loading application objects written in those language
339      platforms will be added very soon.
340
341      Below is an example configuration element that shows how to dynamically
342      load an application using vrjugglerd.
343
344
345          <vrjuggler_app_loader name="Cubes Loader" version="1">
346            <app_object>
347              <vrj_cpp_app name="Cubes App" version="1">
348                <search_path>${VJ_BASE_DIR}/share/vrjuggler/test/Draw/OGL/cubes</search_path>
349                <application>cubes</application>
350              </vrj_cpp_app>
351            </app_object>
352          </vrjuggler_app_loader>
353
354
355      This configuration element indicates that a shared library containing
356      the code for the cubes application will be loaded. This version of
357      cubes has no main() function whatsoever--it is simply a shared
358      library (DLL) with a well-defined entry point that returns a
359      vrj::App*. With this configuration file, it is assumed that vrjugglerd
360      has already loaded a configuration for displays and input devices, but
361      the vrjugglerd configuration can specify additional files to be loaded
362      for use with the application object.  (Among other things, this allows
363      dynamic inclusion of application-specific config elements to allow the
364      newly loaded application object to be configured as necessary.)
365
366      VRJConfig connects to a running vrjugglerd and sends the config element
367      in the attached file to vrjugglerd.  As a result, the code for cubes is
368      loaded dynamically from disk, a new GL window is opened, and the VR
369      Juggler kernel control loop starts executing the dynamically loaded
370      code.  (All of this can be done from the command line instead, but
371      that's not nearly as interesting.)
372
373
374                                  Build System
375                                  ============
376
377      There have been a few major changes to the build system of VR Juggler
378      in order to try to make the process easier for the end user.
379
380          * External Dependencies
381
382              - The cvs-gather script is no longer being used to pull anything
383                from different CVS repositories into a checked out copy of the
384                Juggler Project source.
385
386              - Doozer and Doozer++ come with the VR Juggler source during a
387                CVS checkout.  Both are on vendor branches that will be updated
388                as the need presents itself.
389
390              - GMTL, on the other hand, must now be installed externally prior
391                to building VR Juggler.  Similar to CppDOM, GMTL requires SCons
392                to be installed, but since the GMTL C++ interface is entirely
393                in headers, there is nothing to build.
394
395          * Windows Build
396
397              - Cygwin is no longer required for any part of building the
398                Juggler Project--including VR Juggler applications.
399
400              - The code is built now using a Visual Studio solution that ties
401                together a bunch of Visual C++ projects.
402
403              - Unlike the Cygwin build, the Visual Studio build supports both
404                debug and release binaries.
405
406  Version: 2.0 Alpha 3 (1.1.143-1)
407 Released: September 22, 2003
408
409     Please refer to the following to get started with VR Juggler 2.0 Alpha 3:
410
411        http://www.vrjuggler.org/twiki_public/bin/view/Juggler/MigratingToVrjTwo
412
413     VR Juggler Alpha 3 is being released in order to allow the VR Juggler user
414     community access to a stabilized snapshot of the current code base. There
415     have been no additional features added to VR Juggler since VR Juggler
416     Alpha 2. Also there have been no API changes since the Alpha 2 release.
417
418  Version: 2.0 Alpha 2 (1.1.143)
419 Released: July 1, 2003
420
421     Please refer to the following to get started with VR Juggler 2.0 Alpha 2:
422
423        http://www.vrjuggler.org/twiki_public/bin/view/Juggler/MigratingToVrjTwo
424
425     Required application and configuration changes for upgrading from all
426     previous versions (including 1.1.x up through 2.0 Alpha 1):
427         * KeyboardWindows are now referred to as EventWindows.
428
429             NOTE: DisplayWindows which contain sim_viewports are required to
430                   have the act_as_event_source property enabled.
431
432         * The ClusterManager loads ClusterPlugins on demand now. The
433           ClusterManager chunk must contain a lit of plugins which it should
434           load. For example if you wish to load the RemoteInputManager,
435           ApplicationDataManager, StartBarrierPlugin, and the
436           SwapLockTCPPlugin you would have the following:
437
438             <ClusterManager name="SouthPark Cluster">
439               <cluser_nodes>cartman</cluster_nodes>
440               <cluser_nodes>kenny</cluster_nodes>
441               <cluser_nodes>stan</cluster_nodes>
442               <cluser_nodes>kyle</cluster_nodes>
443               <cluser_nodes>chef</cluster_nodes>
444               <clusterPlugin>${VJ_BASE_DIR}/lib/gadgeteer/plugins/libApplicationDataManager.so</clusterPlugin>
445               <clusterPlugin>${VJ_BASE_DIR}/lib/gadgeteer/plugins/libRemoteInputManager.so</clusterPlugin>
446               <clusterPlugin>${VJ_BASE_DIR}/lib/gadgeteer/plugins/libStartBarrierPlugin.so</clusterPlugin>
447               <clusterPlugin>${VJ_BASE_DIR}/lib/gadgeteer/plugins/libSwapLockTCPPlugin.so</clusterPlugin>
448             </ClusterManager>
449
450           On Win32, it would appear as:
451
452             <ClusterManager name="SouthPark Cluster">
453               <cluser_nodes>cartman</cluster_nodes>
454                   ...
455               <clusterPlugin>${VJ_BASE_DIR}/lib/gadgeteer/plugins/ApplicationDataManager.dll</clusterPlugin>
456               <clusterPlugin>${VJ_BASE_DIR}/lib/gadgeteer/plugins/RemoteInputManager.dll</clusterPlugin>
457               <clusterPlugin>${VJ_BASE_DIR}/lib/gadgeteer/plugins/StartBarrierPlugin.dll</clusterPlugin>
458               <clusterPlugin>${VJ_BASE_DIR}/lib/gadgeteer/plugins/SwapLockTCPPlugin.dll</clusterPlugin>
459             </ClusterManager>
460
461           On Mac OS X, it would appear as:
462
463             <ClusterManager name="SouthPark Cluster">
464               <cluser_nodes>cartman</cluster_nodes>
465                   ...
466               <clusterPlugin>${VJ_BASE_DIR}/lib/gadgeteer/plugins/libApplicationDataManager.dylib</clusterPlugin>
467               <clusterPlugin>${VJ_BASE_DIR}/lib/gadgeteer/plugins/libRemoteInputManager.dylib</clusterPlugin>
468               <clusterPlugin>${VJ_BASE_DIR}/lib/gadgeteer/plugins/libStartBarrierPlugin.dylib</clusterPlugin>
469               <clusterPlugin>${VJ_BASE_DIR}/lib/gadgeteer/plugins/libSwapLockTCPPlugin.dylib</clusterPlugin>
470             </ClusterManager>
471
472         * ClusterPlugins have the following functionality:
473             * RemoteInputManager
474                - Synchronize device data across a cluster
475                - Act as a device server for any number of machines.
476             * ApplicationDataManager
477                - Synchronize arbitrary data structures created in the
478                  developers application code across the cluster.
479             * StartBarrierPlugin
480                - Enforce a strict barrier that will force all nodes to begin
481                  calling the vrj::App callback functions at the same time.
482             * SwapLockTCPPlugin
483                - Provide SwapLock to minimize tearing across multiple displays
484                  using TCP/IP socket connection.
485             * SwapLockWiredPlugin
486                - Provide SwapLock to minimize tearing across multiple displays
487                  using a kernel module, a parallel port, and a simple external
488                  AND gate.
489         * VR Juggler now supports custom simulators which can be created by the
490           user to meet their specific needs. Each DrawManager has also been
491           given its own "default" simulator.
492         * XSLT has been added in:
493
494             $VJ_BASE_DIR/share/vrjuggler/data/xslt/2.0a1-2.0a2.xsl
495
496           which will provide an easy method to later convert configuration
497           files from VR Juggler Alpha1 to a new release.
498
499         * Update to require Boost 1.30
500
501
502  Version: 2.0 Alpha 1 (1.1.135)
503 Released: March 15, 2003
504
505     Required application and configuration changes for upgrading from all
506     previous versions (including 1.1.x up through 1.1 DR3):
507         * Gadgeteer loads device drivers on demand now.  An InputManager
508           chunk must be added to tell the Input Manager what driver(s) to
509           load at runtime.  For example, to load the Flock of Birds driver
510           and the Immersion IBox driver on a UNIX system, add the following
511           to the appropriate configuration file:
512
513             <InputManager name="Input Manager">
514               <driver>${VJ_BASE_DIR}/lib/gadgeteer/drivers/Flock_drv.so</driver>
515               <driver>${VJ_BASE_DIR}/lib/gadgeteer/drivers/IBox_drv.so</driver>
516             </InputManager>
517
518           On Win32, it would appear as:
519
520             <InputManager name="Input Manager">
521               <driver>${VJ_BASE_DIR}/lib/gadgeteer/drivers/Flock_drv.dll</driver>
522               <driver>${VJ_BASE_DIR}/lib/gadgeteer/drivers/IBox_drv.dll</driver>
523             </InputManager>
524
525           All drivers except simulator devices and keyboards must be loaded
526           this way on all platforms.  For multiple instances of these, be
527           sure to name each <InputManager> block uniquely.
528         * In configuration files, all values representing physical units
529           (corner positions, translation values, etc.) must be specified in
530           meters.
531         * All position devices now use a list of filters to transform the
532           positional data read from the device.  Correct configuration of
533           a device's filter(s) is necessary to inform the Gadgeteer Input
534           Manager of what units (feet, inches, meters) the device driver
535           returns.
536         * gadget::PositionInterface::getData() now returns a copy of a
537           gmtl::Matrix44f instead of a pointer to the object.  The method
538           also takes an optional argument that tells what measurement units
539           the application wants.  The default is feet.
540
541  Version: 1.1 DR3 (1.1.128)
542 Released: September 29, 2002
543
544     Required application and configuration changes for upgrading from all
545     previous versions (including 1.1.x up through 1.1 DR2):
546         * The configuration file format has changed to an XML-based format.
547           There is an upgrade path using the cfgupdater script and various
548           XSLT stylesheets. Please follow the steps in the Porting Guide
549           for further details.
550
551  Version: 1.1.92 (dev build)
552 Released: April 10, 2002
553
554     Required application and configuration changes for upgrading from all
555     previous versions (including 1.1.x up through 1.1.91):
556         * The directory containing miscellaneous data files has been
557           renamed from "Data" to "data".
558
559  Version: 1.1.91 (dev build)
560 Released: October 16, 2001
561
562     Required application and configuration changes for upgrading from all
563     previous versions (including 1.1.x up through 1.1.90):
564         * The script juggler-config is now called vrjuggler-config.
565         * vjDEBUG has been replaced with vprDEBUG.  The levels and
566           categories are now prefixed with "vrj" instead of "vj".  The
567           category formerly called vjDBG_ALL is now vprDBG_ALL.
568
569  Version: 1.1.90 (dev build)
570 Released: September 21, 2001
571
572     Required application changes for upgrading from all previous versions
573     (including 1.1.x up through 1.1.89):
574         * The directory structure for the source tree has been completely
575           reorganized.  All source and header files are now rooted in the
576           vrj directory.  The Kernel directory has been separated into
577           "Kernel", "Draw", and "Displays".  The Draw directory now contains
578           the API-specific application headers in the directories OGL (for
579           OpenGL), OSG (for OpenScenegraph), and Pf (for Performer).  In
580           addition, the files and classes no longer have the "vj" prefix
581           because the vrj namespace has been put into use.  Easy upgrading
582           from 1.0 and 1.1.x builds prior to 1.1.90 can be done using the
583           compatibility headers in the "deprecated" tree.  Simply add
584           -I$(VJ_BASE_DIR)/include/deprecated to your application's makefile
585           and recompile.  For a complete upgrade to the new structure and
586           naming convention, consult the following web page:
587
588              http://www.vrjuggler.org/<fill in path>/
589
590  Version: 1.1 (dev build)
591 Started: April 13, 2001
592
593     Required application and configuration changes for upgrading from older
594     versions:
595         * Introduced window viewports.  This means all config files from old
596           version are incompatible.  The new chunk type to use is displayWindow.
597           The old chunk types (simDisplay & surfaceDisplay) can not be used.
598         * vjGlApp::bufferPreDraw() - New interface function for OpenGL-based
599           apps.  Must use if going to use multiviewport code.
600
601         * Performer now has some support for run-time reconfiguration.  This
602           has the following new implications:
603             - numpipes must be set correctly in the display config chunk
604             - Sometimes black windows will appear on unused pipes.
605         * Performer applications running on Linux must use the pfStat library
606           in tools/pfStatLinux otherwise there will be an unresolved symbol
607           when running applications.  This is due to a bug in Linux performer.
608
609 ===============================================================================
Note: See TracBrowser for help on using the browser.