Release Notes for
Cosmo Player 1.0 Beta3a
for Windows95 and WindowsNT
These Release Notes describe the 1.0 Beta3a Release of Cosmo
Player for Windows95 and WindowsNT. The following sections are
included:
-
Legal Notices
-
Differences Between Beta3 and Beta3a
-
Differences Between Beta2a and Beta3
-
What's Included in This Release
-
Recommended Hardware Configuration
-
Online Help
-
VRML 2.0 Support
-
Known Bugs and Limitations
-
Reporting Bugs
-
Software Updates
For the latest
version of the Cosmo Player 1.0 Beta3a Release Notes, see the
vrml.sgi.com web site.
Software License Agreement
1. Grant Of Limited License; Software Use Restrictions. In
consideration for your acceptance of the terms and conditions of this
Agreement, SGI will grant to you a personal, non-transferable and
non-exclusive right to use and execute the Software on a single
personal computer (a "PC"), without right to
sublicense or distribute the Software (except as provided in Section 3
below). Under no circumstance may you store, use or allow the use of
the Software in any manner on more than one PC at one time. You agree
that you will not modify, reverse engineer, decompile or disassemble
any portion of the Software.
2. Duplication Restrictions. In order to effect your license
rights hereunder, you may install the Software by duplicating it onto
the hard disk drive or into the CPU memory of a PC for use thereon, and
you may make full or partial copies of the Software, but only as
necessary for backup or archival purposes or for purposes of
distribution pursuant to Section 3 below. You agree that (i) your use
and possession of such copies shall be solely under the terms and
conditions of this Agreement, and (ii) you shall place the same
proprietary and copyright notices and legends on all such copies as
included by SGI on any media containing an authorized copy of the
Software originally provided by SGI.
3. Distribution of the Software to Others. You may duplicate and
distribute copies of the Software to others, or allow copies of the
Software to be made by someone else, provided that all of such copies
include (i) the entire installation package as originally provided for
the Software by SGI, and (ii) a copy of this License Agreement.
4. Ownership of Software. You agree and acknowledge that SGI
transfers no ownership interest in the Software, in the intellectual
property in any Software or in any Software copy, to you under this
Agreement or otherwise, and that SGI and its licensors reserve all
rights not expressly granted to you hereunder.
5. Transfer Restrictions. This license is personal to you.
Except as expressly provided in Section 3 above, you may not transfer
the Software and/or assign this License to any third party. If you
attempt to transfer or assign this License, such transfer or assignment
will be void and without effect.
6. Export Restrictions. You may not export or reexport any
Software or other technology received under this Agreement except in
full compliance with all United States and other applicable laws and
regulations. In particular, none of such Software or technology may be
exported or reexported into (or to a national or resident of) any
country to which the U.S. embargoes goods, or to anyone on the U.S.
Treasury Department's list of Specially Designated Nationals or the
U.S. Commerce Department's Table of Denial Orders.
7. Term; Termination. The term of this Agreement shall commence
when you electronically download or receive (if SGI delivers the
Software to you by email or alternative means) and shall continue
thereafter. If you fail to fulfill any of your material obligations
under this Agreement, SGI and/or its licensors may pursue all available
legal remedies to enforce this Agreement, and SGI may, at any time
after your default of this Agreement, terminate this Agreement and all
licenses and rights granted to you under this Agreement. You agree that
SGI's licensors referenced in the Software are third-party
beneficiaries of this Agreement, and may enforce this Agreement as it
relates to their intellectual property. You further agree that, if SGI
terminates this Agreement for your default, you will, within thirty
(30) days after any such termination, deliver to SGI or render unusable
all Software originally provided to you hereunder and any copies
thereof embodied in any medium.
8. Governing Law. This Agreement shall be governed by and
interpreted in accordance with the laws of the State of California,
excluding its choice of law rules.
U. S. GOVERNMENT USERS. If the Software is acquired by or on
behalf of an entity of government of the United States of America, the
following provision applies: U. S. GOVERNMENT RESTRICTED RIGHTS LEGEND
Use, duplication or disclosure of Software by the Government is subject
to restrictions as set forth in FAR 52.227-19(c)(2) or subparagraph
(c)(1)(ii) of the Rights in Technical Data and Computer Software clause
at DFARS 252.227-7013 and/or in similar or successor clauses in the
FAR, or the DOD or NASA FAR Supplement. Unpublished- rights reserved
under the Copyright Laws of the United States. Contractor/manufacturer
is SILICON GRAPHICS, INC., 2011 N. Shoreline Blvd., Mountain View, CA
94039- 7311.
9. Disclaimer Of Software Warranty. SGI PROVIDES THE SOFTWARE TO
YOU "AS IS" AND WITHOUT WARRANTY OF ANY KIND,
EXPRESS, STATUTORY, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION
ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
INFRINGEMENT. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN TO YOU BY
ANY SGI EMPLOYEE, REPRESENTATIVE OR DISTRIBUTOR WILL CREATE A WARRANTY
FOR THE SOFTWARE, AND YOU MAY NOT RELY ON ANY SUCH INFORMATION OR
ADVICE.
10. Limitation Of Liability. IN NO EVENT SHALL SGI OR IT
LICENSORS BE LIABLE TO YOU FOR ANY SPECIAL, CONSEQUENTIAL, INCIDENTAL
OR INDIRECT DAMAGES OF ANY KIND (INCLUDING WITHOUT LIMITATION THE COST
OF COVER, DAMAGES ARISING FROM LOSS OF DATA, USE, PROFITS OR GOODWILL,
OR PROPERTY DAMAGE), WHETHER OR NOT SGI HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY
ARISING OUT OF THIS AGREEMENT. THESE LIMITATIONS SHALL APPLY
NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.
05/31/96
Other Copyright Notices
-
Portions of this software are Copyright 1993-1995 Criterion Software
Ltd. and its Licensors.
-
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.
-
gifimagereader - Copyright 1990-1994, David Koblas.
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice and this permission notice
appear in supporting documentation.
-
Portions include gzip - Copyright (C) 1992-1993 Jean-loup
Gailly.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) any
later version. This program is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details. You should have
received a copy of the GNU General Public License along with this
program; if not, write to the Free Software Foundation, Inc., 675 Mass
Ave., Cambridge, MA 02139, USA.
-
Spatialized sound implemented using Media Technology
from Intel- Copyright (c) 1995,1996, Intel Corporation.
All rights reserved.
Intel Corporation, 2200 Mission College Blvd., Santa Clara, CA
95052-8119, USA.
New features and bug fixes in Cosmo Player 1.0 Beta3a include the
following:
-
Java is now supported in the Script node. For the latest spec, please
see the Revised Java Appendix available from the VRML 2.0 spec page.
-
Viewer type NONE has been fixed. That is, user events are correctly
propagated to the scene graph (so TouchSensors and PlaneSensors now
work with viewer type NONE).
-
Some Script and TouchSensor problems have been fixed.
-
URLs within PROTOs and EXTERNPROTOs are now fetched. Currently relative
URLs in PROTOs are expanded based on the PROTO definition.
-
The Vrml1to2 converter has been restored to proper functionality.
-
The lighting model has been changed to be closer to the
"ideal" model specified in the VRML 2.0 spec: textures are
unlit only when the associated Material node is NULL.
-
Values of emissive, specular, and diffuse colors are clamped to values
that ensure that the colors will not be distorted when applied to a
shape that is illuminated only by the headlight.
-
Fly Viewer has been added.
-
Collision detection can now be turned on and off while navigating the
scene using the popup menu. (Collision nodes are not supported yet.)
-
Terrain following in Walk Viewer has been added.
-
TextureTransform support has been added to all geometry nodes.
-
Support for animation of fields in a TextureTransform node has been
added.
-
Two sided lighting is now supported.
-
URLs can now refer to cgi-bin scripts, and cosmoplayer will use the
mimetype returned to determine if this format is supported.
-
Reading PNG image files for 1 and 3 color component images has been
added but currently 2 and 4 component images are not supported.
-
Fields in an EXTERNPROTO statement are now correctly matched (by name)
with the fields in the externProto definition
Features and bug fixes in Cosmo Player 1.0 Beta3 include the following:
-
The Examiner viewer has been improved.
-
External Authoring Interface is now fully implemented. For the latest
changes, please see the updated External
Authoring Interface specification page. The class hierarchy has
been moved from vrml.* to vrml.external.*, so applets using
those classes have to be recompiled after changing "import
vrml." statements to "import vrml.external.*". This is
the only change required for Cosmo Player Beta3 version of the external
authoring interface.
-
Support of the entire VrmlScript specification inside of the Script
node has been completed. The VrmlScript specification is at http://vrml.sgi.com/moving-worlds/spec/vrmlscript.html.
-
Scripts can fetch their behaviors. This allows VrmlScript to be placed
in a .wrl file by specifying a URL with the "vrmlscript:"
protocol or in a separate file by specifying a URL with the VrmlScript
file extension ".vs".
-
Scripts respond to set_url messages, so it is possible to send a
message to a Script node that changes its behavior as a result of some
event in the scene.
-
Several problems with LOD nodes behaving incorrectly have been fixed.
-
Several problems with PROTO nodes have been fixed.
-
Several problems with GZIP have been fixed.
-
MFNode and SFNode events are now supported.
-
Audio initialization now only occurs if there is audio in the scene.
This means external programs or plugins can control the audio device
when a VRML world that does not use audio is loaded.
-
The following Embed Tags are now supported for the PC version. All
arguments are case sensitive and have default values:
-
SGI_POPMENU (can be set to "FALSE" to disable the menu,
default is TRUE)
-
SGI_IMAGEQUALITY (can be set to "BEST", "SMOOTH",
or "SMOOTHEST")
-
SGI_SPLASHSCREEN (can be set to "FALSE" to display a smaller
splashscreen)
-
SGI_DASHBOARD (can be set to "FALSE" to turn off the
dashboard)
-
Node support now includes:
-
ElevationGrid
-
Extrusion
-
PlaneSensor
-
ExternProto
The 1.0 Beta3a release of Cosmo Player includes:
-
Cosmo Player External Interface Java classes
The Cosmo Player external interface java classes are installed, by
default, in c:\java\classes\vrml\external and the base path
(c:\java\classes\vrml) is appended to your CLASSPATH environment
variable.
-
Cosmo Player Java Script Node classes
The Cosmo Player Java script node classes are installed, by default,
in c:\java\classes\vrml and this path is appended to your
CLASSPATH environment variable.
-
Cosmo Player Netscape plugin
The Cosmo Player plugin, npcosmop.dll, is installed in
Netscape's plugins directory.
To run Cosmo Player, read a VRML file into Netscape, or read in an
HTML file with an embedded VRML scene.
Note that if you have more than one VRML Netscape plugin installed in
the Netscape plugin directory, Netscape will use Live3D if it is found.
The Cosmo Player setup will move the Live3D plugin DLLs to another name
(you may restore these DLLs to reenable Live3D).
-
Supporting DLL's
All other DLL's required by Cosmo Player are installed by default in
the Windows system directory, typically c:\Windows\System under
Windows 95 and c:\Winnt\System32 under Windows NT.
-
Example VRML 2.0 scene
One example VRML 2.0 scene is provided with this release. By default
it is installed in c:\Program Files\Cosmo\CosmoPlayer\examples. For
additional examples, see the index of example
worlds on the SGI VRML web site.
-
VRML 1.0 to VRML 2.0 converter
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, vrml1to2.exe, is also provided. By
default, the converter is installed in c:\Program
Files\Cosmo\CosmoPlayer\program.
-
VRML 2.0 Draft #2 upgrader
Cosmo Player will automatically update Draft #2 VRML 2.0 files to the
final VRML 2.0 draft on read. If you prefer to permanently update your
Draft #2 files, a standalone converter, vrmld2up.exe, is
also provided. A warning message will be displayed when a Draft #2 file
is encountered suggesting the file be upgraded, future versions of
CosmoPlayer may not support this automatic conversion. By default, the
converter is installed in c:\Program
Files\Cosmo\CosmoPlayer\program.
-
These Release Notes
These Release Notes are by default installed in c:\Program
Files\Cosmo\CosmoPlayer. For the most up-to-date release
information, see the Release
Notes on the SGI VRML web site.
To run Cosmo Player, the following configuration is recommended (but
not required):
-
Pentium PC
-
16MB RAM
-
16-bit colors
The Help menu in Cosmo Player (Right Mouse->Help->Help Topics)
will take you to the online help pages on the SGI Cosmo Player web
site. You can also view the Help pages without using Cosmo Player by
going straight to http://www.sgi.com/Products/SGIHelp_Hub/CosmoPlayer
.
The 1.0 Beta3a release of Cosmo Player supports most, but not all, of
the Moving Worlds VRML
2.0 specification. It is compliant with the syntax and semantics of
the final version of the spec (as posted on 8/4/96).
-
ROUTEs are supported
-
PROTOs are supported
-
EXTERNPROTOs are supported
-
See the following sections for the list of supported/unsupported
nodes.
VRML 2.0 nodes supported:
-
Grouping Nodes:
-
Anchor
-
Billboard
-
Group
-
Transform
-
Special Groups
-
Common Nodes
-
Sensor Nodes
-
PlaneSensor
-
ProximitySensor
-
TimeSensor
-
TouchSensor
-
Geometry Nodes
-
Box
-
Cone
-
Cylinder
-
ElevationGrid
-
Extrusion
-
IndexedFaceSet
-
IndexedLineSet
-
PointSet
-
Sphere
-
Geometric Property Nodes
-
Color
-
Coordinate
-
Normal
-
TextureCoordinate
-
Appearance Nodes
-
Appearance
-
ImageTexture (JPEG, GIF, and BMP formats)
-
Material
-
MovieTexture (MPEG format)
-
PixelTexture
-
TextureTransform
-
Interpolators
-
ColorInterpolator
-
CoordinateInterpolator
-
NormalInterpolator
-
OrientationInterpolator
-
PositionInterpolator
-
ScalarInterpolator
-
Bindable Nodes
-
Background (no support for background images)
-
NavigationInfo
-
Viewpoint
VRML 2.0 nodes not yet supported:
The following nodes will be read in by Cosmo
Player, but will not have any affect on the rendered scene.
-
Grouping Nodes
-
Sensors
-
CylinderSensor
-
SphereSensor
-
Visibility Sensor
-
Geometry Nodes
-
Appearance Nodes
-
Bindable Nodes
More details on the Script Node:
The Script node supports Java and the VrmlScript
scripting language (http://vrml.sgi.com/moving-worlds/spec/vrmlscript.html).
The Script node will use the first recognized string in the url
MFString field. Currently the following url string types are
recognized by Cosmo Player :
-
Url strings that begins with the VrmlScript identifier tag "vrmlscript:".
Please see example.
-
Url strings that refers to a file with the VrmlScript suffix ".vs".
-
Url strings that refers to a file with the Java class file extension
".class". Please see example.
Example (VrmlScript) :
#VRML V2.0 utf8
Viewpoint {
description "Entry View"
position 0 0 1.0
}
Transform {
children [
DEF TIME1 TimeSensor { cycleInterval 2 }
DEF INTERP1 PositionInterpolator {
key [ 0.0 0.5 1.0 ]
keyValue [ .15 .15 0 .15 -.15 0 .15 .15 0]
}
DEF T1 Transform { # First dropper:
translation .15 .15 0
children [
Shape {
appearance
Appearance {
material
Material { diffuseColor 1 1 0 } }
geometry
DEF SQ IndexedFaceSet {
coord
Coordinate { point [ .05 .05 0,
-.05 .05 0,
-.05 -.05 0,
.05 -.05 0 ]
}
coordIndex [ 0 1 2 3 -1 ]
}
}
]
}
DEF TIME2 TimeSensor { cycleInterval 2 }
DEF INTERP2 PositionInterpolator {
key [ 0.0 0.5 1.0 ]
keyValue [ 0 .15 0 0 -.15 0 0 .15 0]
}
DEF T2 Transform { # Second dropper
translation 0 .15 0
children [
Shape {
appearance
Appearance {
material
Material { diffuseColor 0 1 1 }
}
geometry USE SQ
}
]
}
Transform { # "Go" button
translation -.15 -.15 0
children [
DEF GO TouchSensor { }
Shape {
appearance
Appearance {
material
Material { diffuseColor 0 0 1 }
}
geometry USE SQ
}
]
}
Transform { # Enabler
translation -.15 .15 0
children [
DEF ONOFF TouchSensor { }
DEF SWITCH Switch {
whichChoice 0
choice [
Shape {
appearance
Appearance {
material
Material { diffuseColor 0 1 0 }
}
geometry USE SQ
}
Shape {
appearance
Appearance {
material
Material { diffuseColor 1 0 0 }
}
geometry
IndexedFaceSet {
coord
Coordinate { point [ .05 0 0,
0 .05 0,
-.05 0 0,
0 -.05 0 ]
}
coordIndex [ 0 1 2 3 -1 ]
}
}
]
}
]
}
]
}
DEF JUMPY Script {
eventIn SFFloat smooth_in
eventOut SFFloat jumpy_out
url "vrmlscript:
function smooth_in(t) {
step = (t*10) % 10;
jumpy_out = step/10.0;
}"
}
DEF SCRIPT Script {
eventIn SFTime toggleActive
eventIn SFTime clicked
eventOut SFTime start1
eventOut SFTime start2
eventOut SFInt32 isActive
field SFBool on FALSE
url "vrmlscript:
function initialize() {
start1 = 0;
start2 = 0;
isActive = FALSE;
}
function toggleActive() {
if (on) on = 0;
else on = 1;
isActive = on;
}
function clicked(time) {
if (on == 0) return;
start1 = time+.5;
start2 = time+1.1;
}"
}
ROUTE TIME1.fraction_changed TO JUMPY.smooth_in
ROUTE JUMPY.jumpy_out TO INTERP1.set_fraction
ROUTE INTERP1.value_changed TO T1.translation
ROUTE TIME2.fraction_changed TO INTERP2.set_fraction
ROUTE INTERP2.value_changed TO T2.translation
ROUTE ONOFF.touchTime TO SCRIPT.toggleActive
ROUTE SCRIPT.isActive TO SWITCH.set_whichChoice
ROUTE GO.touchTime TO SCRIPT.clicked
ROUTE SCRIPT.start1 TO TIME1.startTime
ROUTE SCRIPT.start2 TO TIME2.startTime
Example (Java)
(sample.wrl)
#VRML V2.0 utf8
WorldInfo{
title "script test world, click to start/stop"
}
DEF LightSwitch Script{
url "OnOffSwitch.class"
eventIn SFTime touchTime
eventOut SFTime startTime
eventOut SFTime stopTime
field SFBool onoffstate FALSE
}
DEF Timer TimeSensor{
cycleInterval 2
loop TRUE
}
DEF Roll OrientationInterpolator{
key [0, .25, .50, 0.75, 1.0]
keyValue [0 1 1 0, 0 1 1 1.570795, 0 1 1 3.14159, 0 1 1 4.712385, 0 1 1 6.28318]
}
DEF CubeSpin Transform{
children[
DEF Clickit TouchSensor{}
DEF CubeShape
Shape{
geometry Box {}
}
]
rotation 0 0 0 0
}
ROUTE Clickit.touchTime TO LightSwitch.touchTime
ROUTE Timer.fraction_changed TO Roll.set_fraction
ROUTE Roll.value_changed TO CubeSpin.set_rotation
ROUTE LightSwitch.startTime TO Timer.startTime
ROUTE LightSwitch.stopTime TO Timer.stopTime
(OnOffSwitch.java)
import vrml.*;
import vrml.node.*;
import vrml.field.*;
public class OnOffSwitch extends Script{
public SFTime touchTime;
public SFTime startTime;
public SFTime stopTime;
public SFBool onoffstate = new SFBool(false);
public void initialize(){
onoffstate = (SFBool) getField("onoffstate");
startTime= (SFTime) getEventOut("startTime");
stopTime=(SFTime) getEventOut("stopTime");
}
public void processEvent(Event e) {
ConstSFTime tTime=(ConstSFTime) e.getValue();
if (onoffstate.getValue()==false) {
startTime.setValue(tTime);
}
else {
stopTime.setValue(tTime);
}
if (onoffstate.getValue()==true) {
onoffstate.setValue(false);
}
else{
onoffstate.setValue(true);
}
}
}
-
Lights
-
Lights are not properly scoped. All light types illuminate the entire
scene.
-
None of the lights use the ambientIntensity field.
-
Attenuation of point lights and spot lights does not conform to the
values in the attenuation field.
-
Colors
-
The color model is a simplification of the VRML 2.0 spec. When the emissiveColor, diffuseColor,
and specularColor fields specify different hues, the
resulting emissive, diffuse, and specular colors will be different
levels of a hue which is a weighted average of the supplied hues.
-
The ambientIntensity field of a Material node results in
an increased emissive component to shapes that are colored by the node,
regardless of the lighting in the scene.
-
The color values supplied in a VRML 2.0 file are gamma corrected prior
to lighting, to compensate for displays that do not provide gamma
correction. Interpolation of these colors across planar surfaces will
not be properly corrected.
-
Textures
-
Gzipped JPEG textures are not supported.
-
Textured IndexedFaceSets nodes may appear facetted if default normals
are used, even if normals are per_vertex.
-
Default texture coordinates are incorrect for IndexedFaceSet nodes.
-
All texture maps will be resized to 128x128.
-
The repeatS and repeatT fields of ImageTexture nodes are limited to 16
repeats in each direction.
-
TextureTransform does not work with default texture coordinates.
-
When using transparency with GIF textures, opaque pixels that are next
to transparent pixels will sometimes be colored by the background
color. This effect can be prevented by choosing the GIF texture to have
power-of-two sides (e.g. using a 128x128 or a 64x64 GIF image).
-
Geometry
-
Color-per-vertex in indexed face sets does not result in colors being
smoothed over the face; instead the whole face gets a color which is an
average of the vertex colors.
-
The creaseAngle field of an indexed face set has no
effect.
-
Point sets are not obscured by other surfaces, i.e. they are visible
when placed behind an opaque surface.
-
Non-uniform scale factors in Transform nodes can distort normal vectors
and result in abrupt lighting changes.
-
Interpolators
-
The ColorInterpolator interpolates in RGB space. According to the spec,
it should be in HSV space.
-
The NormalInterpolator does a linear interpolation of the normals,
followed by a projection to the unit sphere. According to the final
VRML 2.0 spec, it should interpolate on the surface of the unit sphere.
-
8-bit color displays
-
On an 8-bit display of an HTML scene, if a 2D colored image is shown in
a frame and the CosmoPlayer browser appears in another frame, then both
images will use the CosmoPlayer color palette, and the 2D image colors
will be incorrect.
-
The colors of the Dashboard do not look very good on an 8-bit display.
Use the popup menu to disable the Dashboard (Right Mouse
-> Hide Dashboard).
-
Background nodes are not implemented in 8-bit mode.
-
Audio
-
You can only have one MIDI sound in the scene.
-
MIDI sounds are not spatialized.
-
The priority field of the Sound node is ignored.
-
Spatialization depends entirely on the min and max
Front/Back field values. Inside the minFront/Back
ellipsoid, sound is not spatialized or attenuated. Outside of the minFront/Back
ellipsoid, sound is spatialized and attenuated until the
sound volume drops to zero at the maxFront/Back
ellipsoid.
-
The description and pitch fields of the AudioClip
node are ignored.
-
The RSX sound facility is dependent upon Microsoft's DirectX II
libraries which are not yet available on Microsoft Windows NT 4.0.
-
NavigationInfo
-
The NONE viewer type has been added, but in-scene sensors that should
react to mouse events do not operate properly.
-
The values of the avatarSize, speed, and visibilityLimit fields are not
affected by the currently bound Viewpoint's transformation as they
should be according to the VRML 2.0 specification
-
Proximity Sensor
-
Multiply-instanced proximity sensors will not work correctly. Use only
one instance of each sensor for correct operation.
-
User Interface
-
To use the user interface elements (e.g., arrow keys, page up/down
keys, etc.) you must first set focus by clicking the left mouse button
with the cursor in the Cosmo Player window.
-
Changing the Image Quality (via the popup menu) may cause the dashboard
to be redrawn too frequently. To workaround this bug, set the Image
Quality to Best Quality and resize the Netscape window.
-
The cursor may not always return to an appropriate state when moved
into the Cosmo Player window.
-
GZIP
-
When loading a gzip'ed VRML file, Netscape may issue the warning
message "Warning: unrecognized encoding: 'x-gzip'" .
You can safely ignore this message, and Cosmo Player will correctly
process the file. A workaround is to rename the gzipped file with a
.wrl extension instead of .gz extension.
-
Multiple Instances of CosmoPlayer on the same page
-
Having more than one Cosmo Player plugin window on an HTML page will
not work with Netscape and will have problems with Internet Explorer.
-
MFString Fields
-
With the exception of the Script node, nodes with url
MFString fields (i.e. AudioClip, Anchor, Inline, ImageTexture and
MovieTexture) ignore all but the first string in the field
-
With the exception of the Script and Anchor node, nodes with url MFString
fields (i.e. AudioClip, Inline, ImageTexture, and MovieTexture) do not
handle set_url events.
-
Installation
-
if the installation writes the autoexec.bat file on a
drive other than the "boot drive" (which is
usually the C drive), please copy its contents to the autoexec.bat
file on the boot drive.
-
Java in Script Nodes
-
If you get an eventIn or an exposedField of an MField of a PROTO that
is multiply IS'd in its implementation, and you hold onto that field in
a Java variable past the invocation of the call where you retreived it,
using that field to set1Value() on the PROTO may cause incorrect
results later.
-
If you get an exposedField or eventOut of a SField or MField of a PROTO
that is multiply IS'd in its implementation, and you hold onto that
field as above, there is the potential that the value of that field may
change, but not be reflected in a getValue call on the field object
already obtained.
-
The current implementation of the Script node is not thread-safe. All
interaction between the script and the rest of the player must be done
through the main application thread. Thus, avoid spawning additional
threads in scripts.
Cosmo Player 1.0 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 SGI Cosmo Player web site or by sending mail to cosmoplayerbugs@sgi.com.
The newsgroup news://vrml.sgi.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.
You can download
the latest version of the software from the SGI Cosmo Player web site.
If you already have the latest software, you can also register to
be notified the next time a new version is released.