Cosmo Player 2.1 Prerelease
Release Notes
for MacIntosh
March 14, 1998
still to do
-
Conix info - where's the contract, what are our obligations, what
version are we shipping
-
Apple info needs verification
-
known bugs
-
should links now point to www.cosmosoftware.com?
-
everything labelled with a "???"
These Release Notes describe the prerelease of Cosmo Software's Cosmo
Player 2.1 for MacIntosh. The following sections are included:
-
Legal Notices
-
Differences Between Cosmo Player Versions
-
What's Included in This Release
-
Recommended Hardware Configuration
-
Online Help
-
VRML Support
-
Known Bugs and Limitations
-
Reporting Bugs
-
Trouble Shooting
-
Software Updates
-
VRML Developer Information
The latest version of these Release Notes is always
available from the
Cosmo Software web site.
1. Legal Notices
Software License Agreement
NOTE: REDISTRIBUTION OF THE SOFTWARE LICENSED HEREUNDER REQUIRES THE EXECUTION
OF A SEPARATE LICENSE AGREEMENT WITH SILICON GRAPHICS, INC.
Cosmo(tm) Player 2.1 Prerelease for MacIntosh
Developed by Silicon Graphics, Inc. 2011 N. Shoreline Boulevard, Mountain
View, CA 94043 Copyright © 1998, Silicon Graphics, Inc. All Rights
Reserved
Silicon Graphics®, OpenGL® and the Silicon Graphics Logo®
are registered trademarks and the OpenGL logo(tm), Cosmo(tm), the Cosmo
logo(tm), Cosmo Worlds(tm) and Cosmo(tm) Player are trademarks of Silicon
Graphics, Inc. SoundSprocket and the AppearanceManager are trademarks or
registered trademarks of Apple Computer, Inc.
COSMO(tm) SOFTWARE LICENSE AGREEMENT*
SILICON GRAPHICS, INC., BY AND THROUGH COSMO SOFTWARE, A SILICON GRAPHICS
COMPANY ("Cosmo"), IS WILLING TO LICENSE COSMO SOFTWARE TO YOU ONLY UPON
THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS LICENSE
AGREEMENT ("Agreement"). READ THE TERMS AND CONDITIONS OF THIS LICENSE
CAREFULLY. YOUR USE OF THE LICENSED SOFTWARE INDICATES YOUR ASSENT TO BE
BOUND BY THE LICENSE TERMS SET FORTH BELOW.
1. DEFINITIONS
The "Cosmo"(tm) software in binary form (hereafter "Licensed Software")
is provided to you subject to Cosmo's copyright and other intellectual
property rights.
2. LICENSE GRANT AND NOTICES
Cosmo and its licensors retain exclusive ownership of the Licensed Software.
Cosmo hereby grants to you ("you") a non-exclusive license to use a single
copy of the Licensed Software. No license is granted to you for any other
purpose. The above license is subject to all terms of this Agreement including,
without limitation, the following: 1. You agree not to reverse engineer
or disassemble the Licensed Software. 2. You agree not to remove
or obscure proprietary notices of Cosmo ( You agree not to alter the size,
color and quality of the logo).
3. RESTRICTED RIGHTS.
RESTRICTED RIGHTS: Use, duplication, or disclosure by the U.S. Government
is subject to restrictions of FAR 52.227-14(g)(2)(6/87) and FAR 52.227-19(6/87),
or DFAR 252.227-7015(b)(6/95) and DFAR 227.7202-3(a).
4. DISCLAIMER OF WARRANTY
COSMO PROVIDES THE LICENSED SOFTWARE TO YOU "AS IS". COSMO MAKES NO
REPRESENTATIONS OR WARRANTIES ABOUT THE LICENSED SOFTWARE, EITHER EXPRESS
OR IMPLIED, AND HEREBY EXPRESSLY DISCLAIM ALL WARRANTIES (INCLUDING BUT
NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NON-INFRINGEMENT). NEITHER COSMO NOR ITS LICENSORS
SHALL BE LIABLE FOR ANY DAMAGES SUFFERED BY YOU AS A RESULT OF USING, MODIFYING
OR DISTRIBUTING THE LICENSED SOFTWARE OR ITS DERIVATIVES.
5. LIMITATION OF LIABILITY
IN NO EVENT SHALL EITHER PARTY BE LIABLE FOR ANY LOST REVENUES OR PROFITS,
OR OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING WITH RESPECT
TO THE LICENSED SOFTWARE AND RELATED MATERIALS OR ARISING OUT OF THIS AGREEMENT,
EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
This provision shall survive the expiration or termination of this Agreement.
6. MISCELLANEOUS
This Agreement shall automatically terminate if you fail to comply with
its terms.
This Agreement is made under and shall be governed by and construed
in accordance with the laws of the State of California, U.S.A., without
reference to conflict of laws principles. By using or copying this Licensed
Software, You agree to abide by the intellectual property laws and all
other applicable laws of the U.S. (including without limitation the export
laws of the United States) and the terms of this license.
Other Copyright Notices
-
JPEG Software - Copyright 1991, 1992, 1993, 1994, 1995, Thomas G.
Lane. All Rights Reserved. Code from the Independent JPEG Group was used
in Cosmo Player.
-
Portions include gzip - Copyright (C) 1992-1993 Jean-loup Gailly.
-
Portions include modified sources from the Group 42 PNG reference library,
Copyright (C) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. See http://www.group42.com/png.htm
for more details.
2. Differences Between Cosmo Player Versions
Differences between Cosmo Player 1.0 and 2.x
New features and bug fixes in Cosmo Player 2.x include the following:
-
The user interface has been redesigned to be more intuitive and natural.
-
The Cosmo Player console has been introduced to display errors, warnings,
information, and developmental print() statements.
-
OpenGL is used as the rendering API in Cosmo Player 2.1.
-
Java is supported in the Script node in CP 2.1. For the latest specification,
please see the Revised Java Appendix available via the VRML97 specification.
Differences between Cosmo Player 2.0 and 2.1
Cosmo Player 2.0 was not released for the MacIntosh.
3. What's Included in This Release
This MacIntosh Cosmo Player 2.1 prerelease includes:
-
Conix OpenGL support
???
-
Cosmo Player Netscape plugin
The Cosmo Player plugin, CosmoPlayer, is installed in the Cosmo folder
in the active Systems Extension folder, and then aliased to the Netscape
plug-ins folder.
-
Cosmo Player Supporting Shared Libraries
All other Shared Libraries required by Cosmo Player are installed by
default in the Cosmo folder in the active Systems Extension folder
-
Cosmo Player External Authoring Interface Java classes (EAI) and
Java in the Script Node Authoring Interface classes (JSAI)
-
These classes are installed in the CosmoPlayer.jar file in the
Netscape plugins directory.
-
Example VRML scene
One example VRML scene is provided with this release. By default it
is installed in ???. For additional examples, see the index
of example worlds on the Cosmo VRML web site.
-
VRML 1.0 to VRML 2.0 converter
*ouch* - vrml1tovrml2 is not in the alpha version of the mac Cosmoplayer.
Cosmo Player will automatically convert VRML 1.0 files to 2.0 on read.
If you prefer to permanently convert your VRML 1.0 files to 2.0, a standalone
converter, vrml1tovrml2.exe ???, is also provided. By default, the
converter is installed where the other DLLs are installed.
-
GZIP
All data formats can now be gzip compressed. This can make significant
improvements in download time for large data files.
-
UTF8
Cosmo Player will read and convert utf8 characters in a VRML file into
Unicode characters for display.
-
These Release Notes
These Release Notes are by default installed in ???.
For the most up-to-date release information, check the Cosmo
Software web site.
4. Recommended Configuration
This prerelease of Cosmo Player has the following minimal supported configuration:
-
Power Macintosh running any one of the Macintosh operating systems: 7.6.1,
8.0, or 8.1
-
Netscape 4.04 - with 15 meg of memory allocated to the Netscape process
-
20MB disk space
-
16-bit color depth
5. Online Help
The online Help for Cosmo Player can be obtained by selecting the Help
icon (a question mark) on the Cosmo Player control panel. This will bring
up the installed Help page. You may also view the Help
pages on the Cosmo Software web site.
6. VRML Support
Cosmo Player supports all of the VRML97 specification. It is compliant with the syntax and semantics of
the final version of the specification.
Media support ???.
7. Known Bugs and Limitations
See also the Trouble Shooting section below.
Installation Issues
-
We do not support Internet Explorer on the MacIntosh.
-
It is strongly recommended that all previous versions of Cosmo Player be
removed before installing an updated version.
NonVRML Issues
-
We have known memory leaks of approximatley 400k per world.
-
Temporary files created at runtime are created in the Netscape application
folder and are not cleaned up properly. It may be necessary for you
to delete the temporary files on occassion. These files will
be of the form temp0000000.
-
If the control panel (i.e., the dashboard) appears too dark then it is
quite likely that your monitor is not set up correctly. Resetting
your monitors brightness and contrast so that the control panel is pleasantly
visible should improve the visual quality of Cosmo Player and all other
applications.
-
The user interface components are not final. This includes the preference
panel, the Cosmo Player console, the file icons, and the Cosmo Player cursors.
-
The "Save As" button in the console is not operational.
-
There are intermittent redraw problems with the Cosmo Player control panel
- for example, sometimes it is not drawn when the Player first begins execution.
-
In scene animations run slowly unless mouse events are going into the scene.
This animation performance issue involves our interaction with Netscape.
To run the animations at "full speed" keep moving the mouse in the player
window.
-
Embedded ... if not matching something ... will cause Netscape to crash.???
VRML support
-
Java related issues
-
Examples
-
A set of simple examples using the JSAI (Java Script Authoring Interface)
and the EAI (External Authoring Interface) can be found at the
Player
developer web site.
-
LiveConnect - EAI - Netscape 4.x :
-
getBrowser() method might return null when a "reload" is done due to a
bug in LiveConnect. Restart the application to make LiveConnect work again.
-
Exceptions
- Exceptions longer than 32 characters do not work on the MacIntosh (InvalidNavigationTypeException,
InvalidVrmlSyntaxException). In the cases where these exceptions should be thrown, a top-level Exception
Object is thrown instead.
-
Lights
-
The assert that sometimes appears in PointLight support can be safely ignored.
-
Point and spot lights ignore their radius fields. Therefore, these light
types illuminate the entire scene. The intensity fields can be used to
limit the effect of the illumination. Directional lights are scoped
properly by their parent group as defined by the spec.
-
Normals
-
On occassion, computed normals are -um- random.
-
MovieTexture
-
The MovieTexture node is not supported in this prerelease of Cosmo Player.
-
Interpolators
-
The ColorInterpolator interpolates in RGB space. It should be in HSV space.
-
The NormalInterpolator does a linear interpolation of the normals, followed
by a projection to the unit sphere. It should interpolate on the surface
of the unit sphere.
-
Audio
-
Looping audio has a 25 - 50 msec gap at the loop point.
-
Multiple instances of Cosmo Player may produce sound from only one instance.
This is due to the Microsoft provided functionality. If there are no native
directSound drivers for the audio device being used to render sound, then
windows falls back to an emulation mode which uses the windows WAVE functions.
There is a known issue where two applications cannot simultaneously have
the WAVE device open at the same time. Thus, if your audio device does
not have native directSound drivers, then you can only get sound from one
process at a time. Note that under NT4.0, DirectSound *always* uses emulation
mode. So, if you're running NT4.0, then you will never be able to have
two processes with audio active at the same time. This should be fixed
by NT5.0 because the hardware vendors are promising native DirectSound
drivers under NT5.0.
-
Navigation Speed
-
This release of Cosmo Player interprets the NavigationInfo node's "speed"
field more literally than previous releases. This change makes Cosmo Player
more spec-compliant than before, and allows content authors to confidently
specify the proper navigation speed for a world (since the browser will
now closely adhere to the specified speed).
Specifically, in the WALK viewer, navigation with the keyboard arrow
keys now moves the camera at exactly the speed specified in the
current NavigationInfo node. Navigation with the mouse allows some flexibility,
but by default the user will not be able to move faster than approximately
3 times the specified speed. (Of course the user can always manually adjust
the navigation speed via the Preferences panel.)
Authors should especially be aware that the default "speed" value (from
the VRML97 spec) is 1 meter/sec, which is a very slow walking speed
in a life-size world! (In other words, if you're building a VRML world
using real-world scaling, you should probably use a NavigationInfo node
with "speed" set to somewhere between 3 and 5.)
8. Reporting Bugs
Cosmo Player 2.1 is free, unsupported software. However, if you find bugs,
or have other comments about the software, you can report them to the Cosmo
Player development team by using the feedback
form on the Cosmo Software web site or by sending mail
to cosmoplayerbugs@sgi.com.
The newsgroup news://cosmosoftware.com/sgi.cosmoplayer
is also available for general questions and discussions on Cosmo Player.
Note, this newsgroup is not a general Usenet group. Use Netscape Navigator
or the MS newsreader to read and post to this newsgroup.
9. Trouble Shooting
#1. If Java functionality is not working, please check your CLASSPATH.
If the CLASSPATH environment variable points to any other (non-Cosmo Player
2.1) vrml.* classes, then Java functionality will not be available.
--------
10. Software Updates
You can download
the latest version of the software from the Cosmo Software
web site.
11. VRML Developer Information
We have implemented some additional functionality to enable developers
to debug their content. This functionality includes:
At runtime, you may toggle (on/off) an in-scene display of frame rate
by pressing the character '='.
You may force the display of the console at runtime by pressing the
'/' key on the numeric keypad. Pressing '<shift>-/' will
hide the console.
-
A print() method in Javascript to print information to the Cosmo
Player console from a VRML Script node using Javascript. (See above
for how to display the console.) For example,
Script {
url "javascript:
function initialize() {
print('Script 2 initialized.');
vec = new SFVec2f(0,1);
print('SFVec2f is ('+vec.x+','+vec.y+')');
}"
}
-
A print() method is also available in the EAI and JSAI. The static
Browser.print() methods print the passed-in information to the Cosmo Player
console. (See above for how to display the console.) You may pass
a String, int, boolean, float, double, long, or char to this method.
For example, in the EAI :
import vrml.external.Browser;
...
Browser.print("Your message here");
or
vrml.external.Browser.print("Your message here");
In the JSAI :
import vrml.Browser;
...
Browser.print("Your message here");
or
vrml.Browser.print("Your message here");
-
Using EMBED tags, it is possible to turn off visible UI (similar to a None
viewer) while still providing built in navigation. This can be useful for
ad banners and other stealth VRML content. Example:
<EMBED SRC="frob.wrl" WIDTH=120 HEIGHT=90 VRML-DASHBOARD=FALSE>
Note that for full page/frame plugins, you must still use an EMBED tag
in HTML to get this effect, Specifying the width and height as "100%".