Cosmo Player 2.1.1
Release Notes
for
Windows 95/98 and Windows NT
December 15, 1998
Launch 
An interactive game teaching the basics of navigating 3D spaces with
Cosmo Player.
These release notes describe the 2.1.1 release of of Cosmo Software's
Cosmo
Player for Windows 95/98 and Windows NT. The latest version of this
file is always available from the Cosmo
Player Support Resources page, on the
Cosmo
Software web site.
Users will find Recommended Hardware Configuration, Installation and
Browser Issues, On-line Help, Media Types and Software, and Troubleshooting
especially helpful.
-
Legal Notices
-
Recommended Hardware Configuration
-
Installation and Browser Issues
-
On-line Help
-
Media Types and Software
-
Troubleshooting
-
Differences Between Cosmo Player 2.0 and 2.1.1
-
What's Included in This Release
-
VRML Developer Notes
-
Known Bugs and Limitations
-
Support and Bug Reporting
1. Legal Notices
Software License Agreement
NOTE: REDISTRIBUTION OF THE SOFTWARE LICENSED HEREUNDER REQUIRES THE EXECUTION
OF A SEPARATE LICENSE AGREEMENT WITH PLATINUM technology, inc.
CosmoTM Player 2.1.1 Release for Windows
95/98 and Windows NT
Developed by PLATINUM technology, inc., 1815 South Meyers Road, Oakbrook
Terrace, IL 60181, USA. Copyright © 1997-1999 PLATINUM technology,
inc. All rights reserved.
Cosmo and the Cosmo logo are trademarks and PLATINUM technology®
is a registered trademark of PLATINUM technology, inc. Silicon Graphics®,
OpenGL® and the Silicon Graphics logo are registered trademarks and
the OpenGL logo is a trademark of Silicon Graphics, Inc. ActiveMovie and
DirectX are trademarks or registered trademarks of Microsoft Corporation.
COSMO SOFTWARE LICENSE AGREEMENT
PLATINUM technology, inc., 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
a) "PLATINUM SOFTWARE" means the software program identified above and
all related updates and new versions that may be supplied by PLATINUM.
b) "PLATINUM PRODUCT" means the PLATINUM SOFTWARE, associated media,
documentation (including printed materials and any associated "online"
or electronic documentation), and any multimedia files (including but not
limited to 3D models, sample applications, bit-mapped images, graphics,
photographs, animations, video, sounds, applets, and behaviors) included
in or available as part of the downloadable product, as well as all related
updates or new versions that may be supplied by PLATINUM.
c) "END-USER PRODUCT" means the output file generated by your using
the PLATINUM SOFTWARE and any copies of these files. END-USER PRODUCT includes
the VRML content you create but does not include the PLATINUM RUN-TIME
required in order for the END-USER PRODUCT to operate on hardware on which
the PLATINUM PRODUCT is not resident.
d) "PLATINUM RUN-TIME " means those files included in or generated by
the PLATINUM SOFTWARE that are required in order for the END-USER PRODUCT
to operate on hardware on which the PLATINUM SOFTWARE is not resident.
2. SINGLE USER LICENSE
a) GRANT. You (but not other individuals in your organization) may use
the PLATINUM PRODUCT on any single computer, as well as on any home or
portable computer that you may possess, but only so long as you use the
PLATINUM PRODUCT on just one single computer at any time and have paid
us our then-current license fee. Upon acceptance of the terms of this license,
you will be prompted to enter the serial number packaged with the PLATINUM
PRODUCT that may be needed to use the PLATINUM PRODUCT under this license
to (i) design, develop, and test END USER PRODUCTS and Internet content
and (ii) distribute the PLATINUM RUN-TIME solely (i) as part of or in conjunction
with END USER PRODUCTS or (ii) as an upgrade or add-on to your software
application to enable it to operate on hardware on which the PLATINUM SOFTWARE
is not resident. Except as expressly permitted herein, you may not distribute
the PLATINUM RUN-TIME on a stand alone basis.
b) RESERVATION. Platinum reserves all rights not expressly granted to
you in this license agreement. Should you wish to acquire any additional
rights with respect to the PLATINUM PRODUCT or PLATINUM RUN-TIME, you must
enter into a separate agreement with Platinum, which may be subject to
additional terms and charges. For further information, contact us by email
at info@platinum.com or by telephone at 800-442-6861.
c) TERMINATION. You may terminate this license agreement at any time
without right to refund, by notifying us in writing and destroying all
copies of the PLATINUM PRODUCT and PLATINUM RUN-TIME in your possession
and control. We may terminate this license agreement in the event you breach
any of its terms or conditions, without prejudice to any other remedies
we may have.
3. PROPRIETARY RIGHTS
The PLATINUM PRODUCT and PLATINUM RUN-TIME are protected by national
copyright laws and international copyright treaties. The source code of
the PLATINUM PRODUCT and PLATINUM RUN-TIME are protected as a trade secret.
Platinum and/or its licensors retain all proprietary rights in or related
to the PLATINUM PRODUCT and PLATINUM RUN-TIME. You are granted only the
limited rights specified in this license agreement with respect to the
object code versions of the PLATINUM PRODUCT and PLATINUM RUN-TIME. Nothing
in this license agreement grants you any right to receive updates, upgrades
or new versions of the PLATINUM PRODUCT or PLATINUM RUN-TIME. If you would
like to receive information about any available maintenance services, contact
us by email at info@platinum.com or by telephone at 800-442-6861.
4. UNAUTHORIZED USE
You may not allow other individuals (whether in your organization or
not) to use the PLATINUM PRODUCT. Except for making an archival copy of
the PLATINUM PRODUCT or loading it on other computers, if and as authorized
above, you may not copy, lend, rent, lease, transmit or otherwise distribute
the PLATINUM PRODUCT. You may not modify, adapt or create derivative works
based on the PLATINUM PRODUCT or PLATINUM RUN-TIME, other than as expressly
authorized under this license agreement, or attempt to disable any password
or other protective devise incorporated into the PLATINUM PRODUCT. You
may not decompile, disassemble or reverse engineer the PLATINUM SOFTWARE
or PLATINUM RUN-TIME, except as and to the extent that applicable law authorizes
you to do so despite this restriction. You may not disclose results of
any benchmark test of the PLATINUM SOFTWARE or PLATINUM RUN-TIME to a third
party without Platinum's prior written approval. You may not delete or
obscure any proprietary legends on the PLATINUM PRODUCT or PLATINUM RUN-TIME,
and you must copy such legends on to any copy thereof that you are authorized
to make. You may not assign or otherwise transfer any of your rights under
this license agreement.
5. LIMITED WARRANTY
If you accept the terms of this license agreement, and have paid us
the applicable license fee, we warrant that the PLATINUM PRODUCT will perform
substantially as described in its internal help screens or related documentation
for 90 days after you pay us the applicable license fee, but we do not
warrant that your use of the PLATINUM PRODUCT or PLATINUM RUN-TIME will
be uninterrupted or error-free. In addition, this Limited Warranty will
become inapplicable if you modify the PLATINUM PRODUCT or use it on or
in conjunction with hardware or software with which the PLATINUM PRODUCT
or PLATINUM RUN-TIME were not designed to be used according to the internal
help screens or related documentation.
IN ANY CASE, EXCEPT AS EXPRESSLY STATED IN THIS SECTION, ALL WARRANTIES
OR CONDITIONS WITH RESPECT TO THE PLATINUM PRODUCT AND PLATINUM RUN-TIME,
INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR PARTICULAR PURPOSE, SATISFACTORY QUALITY OR NON-INFRINGEMENT,
ARE HEREBY OVERRIDDEN, EXCLUDED AND DISCLAIMED.
If you believe that you have a claim under this Limited Warranty, contact
us immediately by email at info@platinum.com or by telephone at 630-620-5000,
Technical Support, but in no event later than the expiration of the 90-day
warranty period. If we are able to replicate the problem, and if it amounts
to a breach of this Limited Warranty, then we will provide you with the
fix or work-around solution that we have or may develop for general release
to our licensees or, if we determine that the problem cannot reasonably
be fixed, we will refund to you the Single User License fee that you paid
for the PLATINUM PRODUCT, provided that there is evidence of when you paid
this fee. Inquiries not covered by this Limited Warranty are subject to
our then-current technical support policies. For information about these
policies, contact us by email info@platinum.com or telephone at 630-620-5000,
Technical Support.
Some jurisdictions do not allow the exclusions and limitations contemplated
above, so you may have additional or alternative warranty rights under
applicable law.
6. LIMITATION OF LIABILITY
UNDER NO CIRCUMSTANCES WILL PLATINUM, ITS LICENSORS OR RELATED PERSONS
BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, SPECIAL OR INCIDENTAL DAMAGES
OR LOSSES, WHETHER FORESEEABLE OR UNFORESEEABLE, BASED ON YOUR CLAIMS OR
THOSE OF YOUR CUSTOMERS (INCLUDING CLAIMS FOR LOSS OF DATA, GOODWILL, PROFITS,
USE OF MONEY, COMPUTERS OR THE PLATINUM PRODUCTS OR PLATINUM RUN-TIME,
INTERRUPTION IN THE USE OR AVAILABILITY OF DATA, STOPPAGE OF WORK OR OTHER
IMPAIRMENT OF ASSETS), ARISING OUT OF BREACH OR FAILURE OF WARRANTY, BREACH
OF CONTRACT, MISREPRESENTATION, NEGLIGENCE, STRICT LIABILITY IN TORT OR
OTHERWISE. IN NO EVENT WILL PLATINUM'S, ITS LICENSORS' OR RELATED PERSONS'
AGGREGATE LIABILITY EXCEED THE LICENSE FEE THAT YOU ACTUALLY PAID TO US
FOR THE PLATINUM PRODUCT. THIS EXCLUSION AND LIMITATION WILL NOT APPLY
ONLY IF AND TO THE EXTENT THAT APPLICABLE LAW REQUIRES LIABILITY BEYOND
AND DESPITE THIS EXCLUSION AND LIMITATION.
7. EXPORT CONTROLS
You acknowledge that you are not a national or resident of Cuba, Iran,
Iraq, Libya, North Korea, Sudan, Syria, or any other country under current
trade embargo by the U.S. Government and agree not to download or otherwise
export or re-export the PLATINUM PRODUCT, PLATINUM RUN-TIME or related
technical data, or direct products thereof, into any such country or national
or resident thereof.
8. U.S. GOVERNMENT RESTRICTED RIGHTS
If you are a U.S. government agency, in accordance with section 12.212
of the Federal Acquisition Regulations, you hereby acknowledge that your
use, duplication and disclosure of the PLATINUM PRODUCT or PLATINUM RUN-TIME
is governed by, and subject to, this license agreement. If, for any reason,
that section 12.212 is not applicable, you hereby acknowledge that your
use, duplication and disclosure of the PLATINUM PRODUCT and PLATINUM RUN-TIME
is subject to the Commercial Computer Software Restricted Rights clause,
FAR §52.227.19(c). Manufacturer is Platinum technology, inc. 1815
South Meyers Road, Oakbrook Terrace, IL 60181, USA.
9. MISCELLANEOUS
This Agreement states the entire agreement between us with respect to
the PLATINUM PRODUCT and PLATINUM RUN-TIME and overrides the terms of any
purchase order that you may place with us. It is governed by the laws of
the State of Illinois, U.S.A, and may be modified or supplemented only
in writing signed by both of us. We agree to exclude application of the
U.N. Convention of Contracts for the International Sale of Goods, if applicable.
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 © 1992-1993 Jean-loup Gailly.
-
Portions include modified sources from the Group 42 PNG reference library,Copyright
© 1995, 1996 Guy Eric Schalnat, Group 42, Inc. See http://www.group42.com/png.htm
for more details.
2. Recommended Hardware Configuration
The minimum hardware configuration to run Cosmo Player 2.1.1 is:
-
Pentium PC
-
16 MBytes RAM
-
8-bit color depth (16-bit color is recommended)
If your system provides hardware acceleration for either OpenGL or Direct3D,
Cosmo Player will make use of that acceleration.
See
below for more details and a list of supported graphics cards. Also,
if your system's graphics card supports Direct3D, be sure to read the WARNING
below about unsupported cards!
3. Installation and Browser Issues
Before installing Cosmo Player 2.1.1, deinstall all previous versions (if
possible) using Add/Remove Programs. If you have installed Netscape 4.05,
then Cosmo Player 2.0 will have been installed silently as part of Netscape
4.05 and cannot be removed using Add/Remove Programs; the Cosmo Player
2.1.1 installer will upgrade the Cosmo Player 2.0 that is installed with
Netscape 4.05.
You can download the latest version of Cosmo Player from http://cosmosoftware.com/products/player.
Cosmo Player 2.1.1 is designed to work as a plug-in component for the
following Web browsers:
-
Netscape 3.01 and higher
-
Netscape 4.x
-
Internet Explorer 4.x
Microsoft Internet Explorer 3.x is not supported. However, you may install
Cosmo Player as an ActiveX control to run it in Internet Explorer 3.x.
To do this requires that you use the "Other (unsupported browsers)" option
in the Selected Components dialog during installation of Cosmo Player.
If you install Cosmo Player to be used in Internet Explorer 3.x, then you
will need to install the Microsoft
Java VM for IE 4.0 to execute JSAI and EAI content.
During installation of Cosmo Player 2.1.1, you're presented with a Select
Components dialog that lists supported Web browsers currently installed
on your system. If the installed version of your preferred Web browser
does not appear in the list of supported browsers, check the "Other (unsupported
browsers)" option. The installer then asks you which unsupported Web browser
you want to use; after you specify a browser, you're asked to indicate
what directory Cosmo Player should be installed in. The installer then
installs the necessary files for Cosmo Player into the directory you specified.
PLATINUM technology, inc. does not warrant compatibility with any Web browser
that isn't automatically detected by the Cosmo Player 2.1.1 installer.
The installer will attempt to detect currently installed versions of
Cosmo Player. If you choose to uninstall a previous version during
the
installation process, you should reboot your machine after the successful
install of the new version. This will ensure that the Cosmo
Player files are correctly updated on your system.
If the Cosmo Player dashboard is too dark, then your monitor may not
be set up correctly. Reset the monitor's brightness and contrast so that
the control panel is pleasantly visible.
4. On-line Help
Display the on-line help
by clicking the help icon ("?") on the Cosmo Player dashboard. You
can also access the help on the Cosmo Software web site at http://cosmosoftware.com/support/player.
5. Media Types and Software
ActiveMovie/DirectShow
Cosmo Player 2.1.1 requires ActiveMovie 1.0 or later in order to support
video and compressed audio within VRML worlds.
Microsoft has recently changed the name of ActiveMovie to DirectShow,
which will be bundled with DirectX beginning with DirectX 5.1 and also
comes bundled with Internet Explorer 4.0, so you may be familiar with it
under that name.
If, in the Cosmo Player Console, you see the message
ActiveMovie not available. Video will be disabled. Audio which is
not uncompressed WAV or MIDI will be disabled.
then you may want to download and install ActiveMovie. (Press the \
[backslash] key to display the Console.) You can download a self-extracting
archive of the ActiveMovie support package from the Cosmo
Software ftp site (amovie.exe).
Upon installation of ActiveMovie, you may find that multimedia files
(.mpg, etc.) on your system have different icons. This is because ActiveMovie
changes the default file associations for these file types. See www.microsoft.com/directx
for additional information on ActiveMovie/DirectShow.
DirectX
Cosmo Player 2.1.1 uses DirectSound3D, available in DirectX 3.0 or later,
to provide realistic, spatialized audio. Without DirectX 3.x, audio
will be pseudo-spatialized by varying the left/right pan.
Windows 95/98
If you see the message
DirectX 3.0 or later not detected. Spatialization will be limited
to simple left/right pan calculation.
in the Cosmo Player Console, you will need to install DirectX 3.0 or
later if you desire to hear fully spatialized audio. For best performance
in Windows 95/98, use DirectX 5.0 or later. A self-extracting archive of
the DirectX 5.0 runtime is available from the Cosmo
Software ftp site (dx5eng.exe). This is the English-language version
of DirectX 5; international users should download the appropriate version
directly from Microsoft.
Windows NT
Versions of Windows NT 4.0 up to and including Service Pack 2 include DirectX
2.0. In order to upgrade to DirectX 3.0 for full spatialization support,
you will need to install Windows NT Service Pack 3, which is available
from Microsoft's site: Windows
NT Service Packs
6. Troubleshooting
Additional troubleshooting information is available in the Cosmo Player
FAQ, which is found on the
Cosmo
Player Support Resources page.
Also, be sure to check the Known Bugs and Limitations
section, in case you're running into a specific known problem in this release
of Cosmo Player.
I do not hear audio in all worlds known to have audio content.
-
Verify that audio works normally outside of Cosmo Player 2.1.1. Double-click
on a .WAV file from within the Windows Explorer. Try a .MID file as well.
-
Display the Cosmo Player Console (press \ [backslash]) and look
for diagnostic messages relating to the audio subsystem.
I do not hear audio in a particular world.
-
Check the Cosmo Player 2.1.1 Console to verify that there were no errors
retrieving the audio content.
-
Verify that the content type is supported by your installation of Cosmo
Player 2.1.1. In particular, without ActiveMovie/DirectShow, only uncompressed
WAV and MIDI will be supported.
My audio is not spatialized.
-
Audio will only be "pseudo-spatialized" on Windows NT without Service Pack
3 or Windows 95/98 without DirectX 3.0 or later.
-
MIDI playback is not spatialized.
I do not see video when I would expect to.
-
Verify that ActiveMovie/DirectShow has been installed.
-
Verify that video playback is functional outside of Cosmo Player 2.1.1.
Video appears in a separate pop-up window.
-
Re-install and restart Cosmo Player 2.1.1.
My web browser crashes when I try to display the Preferences window.
-
This is a bug in certain older releases of Windows 95; you need an updated
Microsoft system file, COMCTL32.DLL (you need version 4.70 or higher).
Unfortunately, because of Microsoft licensing restrictions, the only way
to to get this DLL is by installing any one of a number of Microsoft programs
that include it, such as Internet Explorer 3.02, Internet Explorer 4.x,
Word 97, or Developer Studio 5.
Java is not working.
-
Check your CLASSPATH. If the CLASSPATH environment variable points
to any other (non-Cosmo Player 2.1.1) vrml.* classes, then Java
functionality will not be available.
JSAI class files are not being loaded in Internet Explorer.
-
Confirm that your SOCKS server on your firewall is compatible with Internet
Explorer. Workaround by using an HTTP proxy to access the Internet or by
upgrading your SOCKS firewall server.
Embedded VRML works in Netscape and IE 4.0 but not in IE 3.x.
-
Make sure that you are using double quotes (NOT single quotes) in your
HTML. That is, it should look like SRC="coolVRML.wrl"
not SRC='coolVRML.wrl'.
Some EAI content doesn't work in Internet Explorer.
-
This can happen if the EAI applet is using the old-style LiveConnect functionality
(the JSObject calls) to access the VRML browser; these calls are Netscape-specific.
Please ensure that the content uses the Browser.getBrowser() method,
which works in both Netscape and Internet Explorer.
Textured objects appear too bright or "washed out".
-
This can happen if your content uses a bright emissiveColor on the material
underneath the textured objects. Cosmo Player 2.0 did not apply the emissive
and specular colors correctly in this case; the behavior in Cosmo Player
2.1.1 is spec-compliant. See below for more info
and a workaround.
I get a black screen when trying to view any world that uses navigation
type NONE.
-
This is caused by OpenGL driver bugs on some systems; we've especially
seen this with the Matrox Millennium II card (see below
for more details), we've also seen it with the Diamond Stealth 3D 2000
card, and have heard reports of it with other cards too. You should first
make sure you're running the latest versions of your card's OpenGL drivers
(check the card manufacturer's web site); otherwise, use the "Force
Software-only Rendering" item to work around this problem.
I get an error when uninstalling (or reinstalling) Cosmo Player 2.1.1.
-
This usually happens when the Cosmo Player "uninstall log" gets corrupted
somehow (eg. if you manually delete the .isu file that gets created
when you first install.) The easiest way to fix things is to just reinstall
Cosmo Player 2.1.1 on your system; this will re-create the uninstall logs
and then you'll be able to safely uninstall the software.
Also, before installing or uninstalling, be sure you don't have
any .wrl files on your Windows desktop! If you do, some of Cosmo
Player's .dll's will be kept open by Windows (which interferes with the
install/uninstall process).
Finally, there's one known problem with Internet Explorer 4.x, which
happens because IE keeps the Cosmo Player libraries open even after you
shut it down! So if you can't uninstall or reinstall Cosmo Player after
using IE4, the workaround is to log out and log back in again; see
below for details.
Cosmo Player hangs on startup; Netscape just locks up while displaying
"Starting Java..."
-
This is a bug in Windows NT, which can be triggered by Netscape Communicator
when running with a TrueColor (24-bit) display. See
below for more info and a workaround.
IE4.x can't bring up new browser windows.
-
Sometimes Internet Explorer 4.0 or 4.01 can lose the capability to launch
new browser windows (from links on any HTML page). This is a known bug
in IE, but it may be triggered by the presence or absence of Cosmo Player.
See
below for more info, the fix from Microsoft's support site, and an
additional workaround.
7. Differences Between Cosmo Player 2.0 and 2.1.1
New Features
New features in Cosmo Player 2.1.1 include the following:
-
There is a Macintosh version available! (in Prerelease as of 4/3/98)
-
Support for 16-bit color, Direct3D hardware acceleration (based on DirectX
5) on Windows 95/98. Details below.
Note: 8-bit color is not supported in the Direct3D renderer
of Cosmo Player. We have done preliminary testing, but this is not a supported
configuration.
-
The EAI has been exposed as a COM interface. Check the Cosmo
Player 2.1.1 Resources page for a Cosmo Player SDK to make use of the
COM EAI.
-
Cosmo Player is now compliant with the VRML97 event model. For example,
Cosmo Player 2.1.1 will preload scripts and EXTERNPROTOs to enable predictable
behavior.
-
Improved documentation
-
Improved support for 8-bit displays
-
Improved startup speed
-
New "Graphics" preferences panel for renderer selection. The Cosmo Player
Console contains information about the current renderer.
Bugs Fixed
The Cosmo Player team fixed many bugs between the 2.0 and 2.1.1 releases,
too many to list here. Several of the key fixes are:
-
Event model is VRML97 compliant
-
Scripts and EXTERNPROTOs are preloaded to guarantee correct initialization
-
Multiple events to Group nodes in one event cascade are handled properly
-
Memory leaks in the EAI are fixed
-
Vastly improved the look of the Cosmo Player dashboard in 8-bit display
mode.
-
HTML links (or VRML Anchors) to URLs as in "myWorld.wrl#ViewpointName"
now correctly take you to the specified Viewpoint
-
Anchor descriptions are now displayed in Internet Explorer
-
You can now animate the camera's Field of View by routing directly to the
fieldOfView of the currently bound Viewpoint
-
Viewpoints are now removed correctly from the UI (the Viewpoint popup list)
when they get removed from the scene, or after a replaceWorld()
call
-
Absolute time is now correct (was shifted)
Differences Between Cosmo Player 1.0 and 2.x
If you're updating from Cosmo Player 1.0, the key new features in 2.x are:
-
The user interface has been redesigned to be more intuitive and natural.
-
The Cosmo Player Console has been introduced to display errors, warnings,
and developer information and print() statements.
-
Rendering API information:
-
OpenGL is used as the rendering API in Cosmo Player 2.0.
-
Both OpenGL and Direct3D (on Windows 95/98 and requiring DirectX 5 or greater)
can be used as the rendering API in Cosmo Player 2.1.1.
-
Thus, if you have a graphics accelerator that has OpenGL drivers and/or
an MMX enabled machine, then Cosmo Player will use the hardware for OpenGL
acceleration. If you are using Windows 95/98, have DirectX 5 or later installed
and have one of the supported graphics cards, then
Cosmo Player will use Direct3D hardware acceleration.
-
Java is supported in the Script node in CP 2.x. For the latest specification,
please see the Revised Java Appendix of the VRML97
specification.
-
Support for Internet Explorer 4.0.
-
You need only compile your java content once (instead of once for each
of Netscape and Internet Explorer).
8. What's Included in This Release
Cosmo Player 2.1.1 includes:
-
Cosmo Player Netscape plug-in
The Cosmo Player plugin, npcosmop211.dll, is installed in Netscape's
plugins directory.
-
Cosmo Player as an ActiveX control
The Cosmo Player ActiveX control, cp211_axucp.dll, is installed
by default in the Windows system directory, typically \Windows\System
under
Windows 95/98 and \Winnt\System32 under Windows NT.
Other Cosmo Software products may use Cosmo Player as an ActiveX control
to preview VRML work in progress. Microsoft's Internet Explorer can
use the ActiveX control to display VRML data.
-
Cosmo Player Supporting DLLs
All other DLLs required by Cosmo Player are installed by default in
the Windows system directory, typically \Windows\System under Windows
95/98 and \Winnt\System32 under Windows NT.
-
Cosmo Software Shared DLLs
Cosmo Software has other products that may share dlls with Cosmo Player.
These are installed by default in the Windows system directory, typically
\Windows\System under Windows 95/98 and \Winnt\System32 under
Windows NT.
-
Cosmo Player External Authoring Interface Java classes (EAI) and
Java in the Script Node Authoring Interface classes (JSAI)
-
For use in Netscape, these classes are installed in the npcosmop211.zip
(or npcosmop211.jar) file in the Netscape plugins directory.
-
For use in Internet Explorer, these classes are installed into \Program
Files\CosmoSoftware\CosmoPlayer
-
Example VRML world
One example VRML world (the game Chomp)
is provided with this release. By default it is installed in \Program
Files\CosmoSoftware\CosmoPlayer\examples. For more VRML content, see
the Galleries
on the Cosmo Software web site.
-
VRML 1.0 to VRML97 converter
Cosmo Player will automatically convert VRML 1.0 files to VRML97 on
read. If you prefer to permanently convert your VRML 1.0 files to VRML97,
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 could make significant
improvements in download time for large data files expected to be transferred
over slow modem connections.
-
UTF8
Cosmo Player will read and convert utf8 characters in a WRL file into
Unicode characters to display. This will work on Windows NT 4.0 for the
string field of the Text node and also the description field of the Viewpoint
node. Windows 95/98 does not support Unicode and so will display '-' dash
characters instead of the proper value for most charsets but has limited
support for Latin1 characters. Of course, you must have the TrueType fonts
installed that support the charset that you want to display.
-
These Release Notes
These Release Notes are by default installed in \Program Files\CosmoSoftware\CosmoPlayer\doc\relnotes.html.
For the most up-to-date release information, check the Cosmo
Player Support Resources page.
9. VRML Developer Notes
Compatibility with Cosmo Worlds 2.0
Cosmo Worlds 2.0 can compile your Java files. To do so, the Java compiler
must be able to find the VRML classes that come with Cosmo Player; these
classes are found in npcosmop.zip or npcosmop.jar (for
Cosmo Player 2.0) or
npcosmop211.zip or npcosmop211.jar
(for Cosmo Player 2.1.1).
WARNING: the default classpath in the Cosmo Worlds Script Editor
refers to the VRML classes by their Cosmo Player 2.0 name ("npcosmop",
not"npcosmop211").
This means that with Cosmo Player 2.1.1, you must re-set the classpath
option every time you bring up the Script Editor if you use it to
compile your Java code. Here's how to re-set the classpath:
-
Bring up the Script Editor, select the "Settings" tab.
-
Update the "Compiler Options":
-
original value:
-classpath "<JDK_dir>\lib\classes.zip;<CP2.0_install_dir>\npcosmop.zip"
-
change to:
-classpath "<JDK_dir>\lib\classes.zip;<CP2.1.1_install_dir>\npcosmop211.zip"
This classpath setting is not persistent, so you need to reset it every
time you bring up the Script Editor. (And unfortunately, there's no environment
variable or registry entry that can be used to override the default setting.)
VRML97 Compliance
Cosmo Player supports all of the VRML97
specification. It is compliant with the syntax and semantics of the
final version of the specification.
Functionality
We have implemented some additional functionality to enable developers
to debug their content. This functionality includes:
-
At runtime, you can toggle an in-scene display of frame rate by
pressing the = key.
-
The Cosmo Player 2.1.1 Console is used to display errors, warnings
and developer information, along with other messages logged by Javascript
or Java code in the VRML content. You can force the display of the Console
at runtime by pressing the \ [backslash] key (or the / [forward-slash]
key on the numeric keypad.) Also, the "Advanced" preferences panel allows
you to select when/if the Console should ever automatically display itself.
Note: since the "Automatic Muting" item in the "Audio" preferences panel
defaults to "Mute when window is not active", any sound produced by the
VRML scene will be muted when the console is the active window!
So if you use the VRML console a lot and you need to hear your scene's
audio, you should set this preference item to "Never mute".
-
Using EMBED tags, it is possible to turn off visible UI (similar to navigation
type NONE) while still providing built-in navigation. This can be useful
for ad banners and other stealth VRML content. Example:
<EMBED SRC="foo.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%."
Using an EMBED tag, it is possible to set the initial background color
of the VRML window (e.g. to match the HTML page background color). The
syntax is
VRML-BACKGROUND-COLOR="#rrggbb"
where the "rrggbb" are hex values for each of the colors: red, green, and
blue.
A print() method can be used in JavaScript to print information
to the Cosmo Player Console from a VRML Script node using JavaScript. 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. 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");
Multimedia Notes
-
MIDI seeking is not supported. Thus, MIDI files can only start playing
from the beginning.
-
MIDI playback will not be spatialized. It is attenuated for distance from
the listener.
-
Only one MIDI clip can be playing at a time.
-
MIDI playback does not obey the "Mute when window inactive" preference.
-
MIDI files containing many SysEx messages may play back incorrectly.
-
Pitch shifting of audio (in AudioClip) is limited to a ceiling of 100KHz.
In other words, a 22KHz clip can only be shifted a maximum of about 4.4.
Pitch-shifted audio is not filtered, so audio content should be frequency
limited based upon the maximum pitch shift factor expected and the 100KHz
ceiling. The same limitations apply to the MovieTexture node when used
as an audio source.
-
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 Windows NT 4.0, DirectSound always
uses emulation mode. So, if you're running Windows NT 4.0, then you will
never be able to have two processes with audio active at the same time.
-
MovieTexture nodes do not support negative speeds for MPG/AVI/MOV files.
-
MovieTexture video decoding can degrade rendering performance. In general
performance is much better with video encoded at lower frame rates (e.g.
10fps) and smaller sizes (e.g. 128 x 128).
-
Looping MovieTextures may experience audio stutters when wrapping from
the end of the media to the beginning.
-
The alpha channel is not supported for any video formats, except you may
use transparent animated GIFs.
-
Changing the Renderer Selection in the "Graphics" preferences panel may
sometimes cause MPEG/QT/AVI MovieTextures to be rendered with incorrect
colors (the pixel format may get accidentally switched between RGB and
BGR). Just reload the VRML world if this happens.
OpenGL, Direct3D, and hardware graphics acceleration
WARNING: If your system has a graphics
card that supports Direct3D, be sure to check the list
of supported cards below. If your card does not appear on this
list, be aware that you may encounter rendering problems (since not all
D3D cards support the full set of features needed to render a VRML scene!)
If you do have problems, please bring up the "Graphics" preferences panel
and switch your renderer to "OpenGL".
-
The "Force Software-only Rendering" checkbox
item
If your system supports hardware acceleration of either OpenGL or Direct3D
(note: DirectX 5 is needed for D3D acceleration), Cosmo Player will by
default make use of this acceleration. To override this behavior, there
is a "Force Software-only Rendering" checkbox on the "Graphics" preferences
panel which can be used to disable hardware acceleration. There are valid
reasons for users to disable this capability, such as:
-
Some graphics accelerators are no faster (and sometimes even slower) than
the software OpenGL that is provided with Cosmo Player. For example, at
present, the Matrox Millenium II driver has some performance oversights
and software OpenGL is usually faster.
-
Some graphics accelerators may not produce the rendering quality of software
rendering, especially if you are using an 8-bit display (8-bit color is
not a supported configuration with the Direct3D renderer available with
Cosmo Player 2.1.1).
If you do have hardware acceleration, you are encouraged to compare the
performance and visual quality of hardware versus software rendering and
set your preferences accordingly. If your system has no hardware acceleration
capability, the "Force Software-only Rendering" item is grayed out and
cannot be selected. (Note: the checkbox may also be grayed out in some
situations where your system does support hardware acceleration, but it's
just not currently available. This can happen if your display is
set to a bit depth that your card can't accelerate, for example.)
Note: when switching between the Direct3D and OpenGL renderers, the
"Force Software-only Rendering" item is only updated after you press
the "OK" button, so you'll need to bring up the preferences panel again
to see whether hardware acceleration is available for the new renderer.
And on some systems, you may need to totally shut down and restart your
web browser for a change in the "Force Software-only Rendering" item to
take effect.
To be absolutely sure which renderer you're using at any given point,
just bring up the Cosmo Player Console (press \ [backslash]) and
check the info under "Current Graphics Renderer":
"Current Graphics Renderer" info from the Console |
Name |
Description |
Renderer |
"SGI" |
"Generic 1.1.2 SGI" |
SGI software-only OpenGL |
"Microsoft Corporation" |
"GDI Generic 1.1.0" |
Microsoft software-only OpenGL, or hardware acceleration using MCD
driver |
(your graphics card manufacturer) |
(card-specific info) |
Hardware-accelerated OpenGL
using ICD driver |
... "Direct3D Renderer" |
... "Software Emulation" |
Software-only Direct3D |
... "Direct3D Renderer" |
... "Hardware acceleration through Direct3D HAL" |
Hardware-accelerated Direct3D |
-
Graphics Accelerators: OpenGL
If you have a 3D graphics card with OpenGL drivers, Cosmo Player will
take advantage of the card's acceleration. Some OpenGL cards which are
known to work with Cosmo Player are:
-
Cards based on the 3DLabs Permedia 2 chipset (eg. the FireGL 1000 Pro from
Diamond Multimedia, which has OpenGL drivers for Windows 95/98 and Windows
NT; make sure you have the latest drivers!)
-
Cards based on the ATI Rage Pro chipset (eg. the ATI Rage Pro, which has
OpenGL drivers for Windows NT.)
-
Cards based on the Nvidia Riva 128 chipset (eg. the Diamond Multimedia
Viper V330, which has OpenGL drivers for Windows 95/98.)
-
Cards based on Mitsubishi's 3DPro/2mp chipset (eg. the Diamond Multimedia
Fire GL 4000, which has OpenGL drivers for Windows NT; make sure you have
the very latest drivers!)
-
Cards based on the Intel 740 chipset
Note: with some OpenGL cards, the OpenGL drivers will fall back to software-only
rendering if the window size becomes too large for hardware acceleration.
The maximum window size depends on the card itself, as well as the color
depth of the screen (eg. running in 24-bit color uses 50% more memory for
the front and back buffers than 16-bit color).
-
Graphics Accelerators: Direct3D
You must have DirectX 5 or greater installed to use the Direct3D renderer.
(DirectX 5 is currently available only for Windows 95/98.) We have tested
and support the following graphics cards for Direct3D hardware acceleration:
-
Diamond Viper 330 (nVidia RIVA128 chipset)
-
Diamond FireGL 1000 Pro (3DLabs Permedia 2 chipset)
-
ATI 3D Rage Pro (ATI Rage Pro chipset)
-
Real3D StarFighter (Intel 740 chipset)
Note: if Cosmo Player is rendering via Direct3D hardware acceleration
and the window size becomes too large for hardware acceleration (this is
dependent on the card), then Cosmo Player will switch to using the Direct3D
software renderer. But since D3D cards often have a fairly small amount
of onboard memory - 4MB for many cards - and the front, back and Zbuffers
(and also textures, with some cards!) have to fit into this onboard memory
in order for there to be hardware acceleration, you may run into this limitation
sooner than you'd expect. Also, after switching to software rendering,
we redo this check every time the window is resized (to see if we can start
using hardware acceleration again.) Finally, remember that the resolution
and
color depth of the screen affect how much video memory you need (eg. running
in 24-bit color uses 50% more memory for the front and back buffers than
16-bit color.)
We have made efforts to ensure our Direct3D renderer works with software-only
support, but this has not been fully tested. Also, the D3D software renderer
is known to be very slow on some platforms. So if Cosmo Player thinks
you have D3D hardware but you always end up with the software renderer
(see the Console to tell for sure), you should try manually switching to
the OpenGL renderer in the "Graphics" preferences panel and see if that's
faster.
-
The OglPanel program
OglPanel is a utility program that allows you to change the
underlying rendering technology used in displaying VRML worlds. You can
use this program in conjunction with Cosmo authoring tools and with Cosmo
Player 2.0, but you don't need it when using Cosmo Player version 2.1 or
higher; the same functionality is now provided by the "Force
Software-only Rendering" item on the "Graphics" preferences panel.
See that section for information on why you might want to disable the hardware
acceleration provided by your graphics card.
If you do have hardware OpenGL acceleration, the "Force
Software-only Rendering" item will generally override the OglPanel
setting, although the OglPanel setting still matters in some cases (especially
when using Cosmo Player as the previewer for Worlds or PageFX!) In these
cases, just look at the "Current Graphics Renderer" info in the Cosmo Player
Console (press \ [backslash] to display the Console) to be sure
which renderer you're using, as described in the "Force Software-only Rendering"
section.
-
Other renderer problems
-
Some known problems with specific graphics
cards are:
-
We have not seen good results with the Matrox Millenium
II card. This card has great 2D performance, but (for 3D) the MCD OpenGL
drivers from Matrox do not take full advantage of the card's capabilities,
and the resulting performance is slower and/or buggier than the software-only
OpenGL renderer that comes with Cosmo Player! One specific bug we've seen
with this card is that VRML worlds which use navigation type NONE are not
displayed at all (you just get a black screen); you can use the "Force
Software-only Rendering" item to work around this problem.
-
Cards based on the 3DLabs Permedia 2 chipset (eg. the FireGL 1000 Pro)
can't correctly display specular and emissive colors on textured objects;
the textures are displayed correctly but the underlying specular and emissive
colors are ignored. The best workaround is to disable the "specular and
emissive color shine-through" preference item (see
below), which will give reasonable (but not completely spec-compliant)
results.
-
Cards based on the S3 Virge VX chipset (eg. the STB Velocity 3D card) have
been reported to have texturing problems on some systems (textures appear
but look bad.) Changing the "Image/Texture Quality" setting on the "Performance"
preferences panel might help; otherwise, use the "Force
Software-only Rendering" item to work around this problem.
-
Not all renderer/card combinations can correctly display specular
and emissive colors on textured objects:
-
With the OpenGL renderer, specular and emissive shine-through only happens
for 1- and 3-component textures (ie. textures without alpha).
-
The D3D renderer correctly displays specular and emissive colors regardless
of the texture type. But note that with the D3D renderer, specular and
emissive colors always shine through textures (ie. the "specular
and emissive color shine-through" preference item has no effect with the
D3D renderer. This is spec-compliant behavior, though.)
-
Finally, some specific graphics cards (see above)
may have problems with specular and emissive colors on textured objects.
-
If you accidentally change your Renderer Selection (in the Graphics preferences
panel) to a setting that prevents Cosmo Player from working at all, Cosmo
Player will display an error message, re-initialize itself (with no active
renderer), and automatically bring up the Graphics preferences panel in
order to let you choose a different renderer.
It's possible in some rare cases, though, to select a renderer setting
that crashes the browser (or your whole system) before Cosmo Player
can recognize there's a problem; this can be caused by bugs in your graphics
card's OpenGL or Direct3D drivers. If this happens, and you're comfortable
editing the registry, you can manually reset Cosmo Player's renderer preferences
by running regedit and looking in:
HKEY_CURRENT_USER/Software/CosmoSoftware/CosmoPlayer/2.1.1
The renderer preferences are:
-
"forceSoftwareRendering"
-
either 0 (use HW if available) or 1 (force SW rendering)
-
"renderer"
-
"AUTO" or "OpenGL" or "D3D"
VRML Multimedia Developer Guide
We have compiled the following suggestions based upon our experience and
feedback from VRML content developers.
-
Include multiple URLs in the AudioClip and MovieTexture nodes. For example,
if you desire to use an MPEG1 audio file in an AudioClip node, include
a .WAV format file as a fallback for those browsers that cannot support
MPEG Audio only streams.
-
Use MIDI for ambient sounds and/or lengthy music. For example, you could
use MIDI AudioClips triggered by proximity sensors to create appropriate
background music for different rooms/regions of your world. Be aware of
the limitations to using MIDI clips mentioned below (e.g. no seeking, avoid
SysEx).
-
Use MPEG 1 Layer II Audio (.mpa) files for most other sounds, especially
audio that should be spatialized. Note that you can use .mpa files as the
URL for an AudioClip node with Cosmo Player; the MovieTexture node is not
required. The only caveat with MPEG1 Audio is that when looping sounds,
a click may be heard at the transition from the end of the media to the
beginning. This is due to a limitation of the format.
-
For best results with MovieTexture nodes, use video with a frame rate of
10fps max and frame sizes <= 128x128. OpenGL limits textures to powers
of 2 sizes (e.g. 128 x 64, 32 x 32), so better performance can also be
achieved by encoding the video at an appropriate size.
-
Use Animated GIFs in the MovieTexture node if you require transparency
or support for negative speeds.
10. Known Bugs and Limitations
VRML97 Compliance
-
Java-related issues
-
Developer Info
-
More information about using Java with VRML, via both the JSAI (Java Script
Authoring Interface) and the EAI (External Authoring Interface), can be
found in the developer
section of the Cosmo Software web site. The EAI
page includes the EAI spec and several example programs with source
code.
-
Java Support in IE 3.x
-
If you install Cosmo Player to be used in Internet Explorer 3.x, then you
will need to install the Microsoft Java VM for IE 4.0 to execute JSAI and
EAI content.
-
LiveConnect - EAI - Netscape 4.x :
-
Be sure not to use the old-style LiveConnect calls (the JSObject
functions that were used in old versions of the EAI examples) in your EAI
applets when getting a handle to the VRML browser! You should use the Browser.getBrowser()
method instead; this works in both Netscape and Internet Explorer, and
also lets Cosmo Player automatically work around LiveConnect bugs in certain
versions of Netscape.
-
Also, be sure to do your browser setup (ie. the getBrowser() call
and any Node lookups) in your applet's start() method. If you
do it in init() instead, you might break your EAI app or crash
Netscape. The Cosmo Player 2.x FAQ (found on the Cosmo
Player Support Resources page) has the full story on this problem,
along with some other important EAI programming tips.
-
If the getBrowser() method is returning null even though Cosmo
Player is loading properly, make sure your CLASSPATH environment variable
doesn't contain references to java40.jar. If this doesn't work, try clearing
your CLASSPATH environment variable completely.
-
Finally, even with correctly-written EAI applets, there's still a chance
with some versions of Netscape that the getBrowser() method might
return null (or Netscape might crash!) when you hit "Reload" or when you
leave an EAI page (eg. by hitting "Back") and then revisit it. The underlying
LiveConnect code (the Netscape-specific interface used to get a handle
to the embedded VRML browser) is very sensitive to the timing of the Reload
sequence and can sometimes send a bad browser pointer to the applet; we
work around these problems in almost all cases (and Reload works fine with
most EAI applets on most systems), but you still might see occasional problems.
Using SHIFT-Reload (instead of Reload) is less likely to cause problems,
by the way.
-
CLASSPATH setting for EAI/JSAI :
-
Some EAI applets may require the EAI/JSAI Java classes to be explicitly
included in the CLASSPATH variable. If a java.lang.ClassNotFoundException
occurs for one of the classes in the vrml package when loading an
EAI applet, you will need to add the Cosmo Player Java classes to the CLASSPATH.
The Cosmo Player Java classes are installed in the Netscape plugins directory,
so for Communicator, this can be done by adding /Program
Files/Netscape/Communicator/Program/Plugins/npcosmop211.jar
to the CLASSPATH.
-
Use MField.getSize() instead of array.length
-
In the JSAI and/or EAI, please use MField.getSize() to retrieve
the length of an array if the array was returned from a JSAI or EAI function
(such as MFColor.getValue()). This is necessary due to an implementation
oversight in Navigator 3.x's Java VM and JRI, where sometimes array.length
will return the wrong value.
-
Script Nodes
-
The JSAI in Internet Explorer (or when accessed via the Cosmo Player ActiveX
control) requires classes derived from Script to be public; this is also
specified in the JSAI spec. The Microsoft Virtual Machine won't load your
Script java classes if they are private, protected or default. They have
to be defined explicitly as public. For example:
public class Foo extends Script { ... }
will be loaded in a Script node in Internet Explorer while the following
will not:
class Foo extends Script { ... }
-
Base URLs
-
When calling loadUrl(), createVrmlFromUrl() or createVrmlFromString()
from a Java Script or EAI applet, those calls now use the location of the
running Java class as the base URL for relative URLs. So say the Java class
is http://foo.com/a.class and the current VRML world is http://bar.com/b.wrl;
if the Java class calls loadUrl("other.wrl"), "other.wrl" will
be loaded from http://foo.com.
-
This is the correct, spec-compliant behavior. See section 4.5.3 of the
VRML97
spec for more details.
-
Memory leak with EventOut.advise()
-
When using the EventOut.advise() method (to set up a callback
from the VRML scene to your EAI applet), the 2nd parameter to that call
is a "userData" Object which is passed back to your applet every time a
callback()
occurs. The "memory leak" here is that any object you pass in as "user
data" to EventOut.advise() will never be garbage collected,
even if the node generating the callbacks is removed from the VRML scene.
-
The workaround: don't pass in large objects (like VRML Node objects!) as
"user data" to EventOut.advise(), especially if your applet repeatedly
adds new nodes to the scene, registers callbacks on these nodes, and then
deletes them!
-
Material Properties
-
Some hardware graphics accelerators do not properly render color per material
with multiple lights.
-
Lights
-
With the OpenGL renderer, there's a limit on the number of lights in the
scene that can be active at once. This number is usually 8, although it
can be larger with some graphics cards. Global lights (PointLights and
SpotLights) have the highest priority, so you won't see any DirectionalLights
if you have too many global lights.
Important note: the headlight counts toward this limit.
And since it's a DirectionalLight, it will not be visible if your
scene contains 8 or more global lights!
-
With the OpenGL renderer, PointLights and SpotLights ignore their radius
fields. Therefore, these light types illuminate the entire scene. The attenuation
fields can be used to limit the effect of the illumination. DirectionalLights
are scoped properly by their parent group as defined by the VRML97
spec.
-
Textures
-
Some texture properties (clamp/wrap) are not maintained properly when textured
objects are clipped on some graphics accelerators.
-
Interpolators
-
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.
-
Extrusions
-
Cosmo Player can crash if you try to extend the spine or crossSection of
an Extrusion (ie. route from a Script to the set_spine or set_crossSection
eventIn of an Extrusion node, using a value which would increase the number
of spine or crossSection points.) The workaround is to initially create
your Extrusion with the maximum number of spine/crossSection points you'll
need, and reset them as appropriate to expand the Extrusion. Or, you can
just recreate the Extrusion from scratch (eg. via createVrmlFromString())
if you need to increase the number of spine/crossSection points.
-
GZIP
-
When loading a gzip'ed VRML file with a .gz extension, Netscape
3.x 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 to have a
.wrl
extension instead of a .gz extension.
-
Author-specified bounding boxes
-
Grouping nodes which allow you to specify a bounding box (Anchor, Billboard,
Collision, Group, Inline and Transform) ignore the bboxCenter and bboxSize
fields in Cosmo Player 2.1.1. Instead, the browser uses the actual bounding
box of the node's children. (These fields are only supposed to be hints
to the browser for optimization purposes, and are not required for conformance
according to the VRML97
spec.)
-
Navigation Speed
-
Cosmo Player 2.x interprets the NavigationInfo node's "speed" field more
literally than pre-2.0 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 (i.e., Movement mode), 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.)
-
Specular and emissive colors on textured objects
-
According to the VRML97
spec, specular and emissive lighting should be unaffected by textures:
the object's specular and emissive colors should shine through, and not
just modulate the texture values. Cosmo Player 2.1.1 is spec compliant
here, although there is a checkbox item provided (in the "Performance"
preferences panel) to allow users to turn this feature off. Un-checking
this preference item might improve rendering performance (only on some
systems), and it can also be useful as a workaround for non-spec-compliant
content (if textured objects appear "washed out" because the emissiveColor
of the material underneath is too bright.)
Finally, the OpenGL and D3D renderers may produce different results
in some cases (with certain texture formats, on specific graphics cards)
when rendering specular and emissive colors on textured objects. See
above for more details.
-
Hang when using createVrmlFromString() with EXTERNPROTOs or
Scripts
-
On some systems, Cosmo Player can hang (lock up) when running createVrmlFromString()
from either a Script node or the EAI, if the passed-in string contains
either an EXTERNPROTO, or a Script node with an external URL (like a Java
class, which would use something like 'url "Foo.class"'. Scripts
with inline URLs like "javascript: ...", though, are safe to use
inside createVrmlFromString().)
The details: Cosmo Player can hang if UI or VRML events come in while
it's in the middle of fetching an EXTERNPROTO implementation or a Script
URL. This hang is browser-dependent; it's somewhat likely to happen in
Netscape and IE3, and unlikely to happen in IE4. The workaround is to use
createVrmlFromURL()
instead of createVrmlFromString() if you can; otherwise, don't
use createVrmlFromString() with EXTERNPROTOs or with Scripts that
require their URLs to be fetched.
Browser-specific Issues
-
IE4: Local URLs with spaces in the pathname
There's a known bug in some versions of IE4 which prevents Cosmo Player
from loading a local VRML file if there are any space characters in the
pathname to the .wrl file. You may notice this problem with Chomp
because the local Chomp files are installed under \Program Files\CosmoSoftware\CosmoPlayer\examples
(which contains a space character.)
This problem is fixed in IE4 version 4.72.2106 or later. (This problem
does not occur with any version of Netscape.) To work around this bug,
just copy the file(s) in question to a path with no space characters, or
set up your machine as a web server and access the files via the web server
instead of the file system.
-
IE4: Cache directory setting
If you're using IE 4.0, Cosmo Player uses the system-wide "Temporary
Internet Files" directory as its cache. However, by default IE4 itself
does not use this same directory; it uses a directory under windows-system-directory/Profiles/user-name.
For best results, be sure to set your cache directory to the system
"Temporary Internet Files" directory (either \WINNT\Temporary Internet
Files or \WINDOWS\Temporary Internet Files); this setting
is found under "General" on the IE Internet Options page. This will make
sure that any cache-related actions you do in IE (such as clearing the
cache!) will also affect files cached by Cosmo Player.
-
IE: Calling Javascript code on an HTML page from VRML
Under Netscape, you can call Javascript code on an HTML page from a
VRML scene embedded on that same page, for example by using a URL like
"javascript:parent.function_name()" in an Anchor node or in a
Browser.loadURL()
call. This does not work in IE, though.
-
IE4: Can't uninstall (or reinstall) Cosmo
Player because "cp211_main.dll is in use"
On some systems running Internet Explorer 4.x, if you try to uninstall
Cosmo Player 2.1.1 (via the "Add/Remove Programs" Control Panel) you can
get an error saying "cp211_main.dll is in use" even if you've already shut
down IE. This happens because closing all your IE windows doesn't really
shut down IE; there's still a process running (keeping Cosmo Player's DLL
open) which stays around as long as you're logged in! This problem can
also occur when installing Cosmo Player 2.1.1 on top of a previous Cosmo
Player installation.
The solution is to log out and log back in (or just reboot), and then
immediately uninstall Cosmo Player.
-
IE4: Problems with Java Console
There are several known problems with IE4's Java console (which you
can bring up via "View" -> "Java Console" after checking the "Java console
enabled" item in the Advanced preferences section):
-
Starting the Java console and forcing garbage collection (by typing "g")
can cause non-deterministic behavior or crashes in worlds using the JSAI
(the GC is too aggressive).
-
Using System.out.println() when the Java console is visible often
causes exceptions to be thrown from that call.
It is highly recommended that you do not enable the IE Java Console unless
absolutely necessary. (Note that there are no known problems with the Java
console under Netscape 3.x or 4.x.)
-
IE4: Can't launch new browser windows
Some installations of Internet Explorer 4.0 or 4.01 can get into a
broken state where the browser can't bring up new browser windows (when
you click on a link that tries to bring up a new window, or even if you
right-click on any link and select "Open in New Window".) This is a known
bug in IE; there's an article
on the Microsoft support site with more information and a fix. (Note
that the article only mentions the problem occuring on Windows 95, but
we've also seen it with Windows NT.)
The Microsoft fix (from the support article above) seems to work on
most systems. If it doesn't work, though, the following is an alternative
fix:
-
Run regedit.
-
Make sure that the following registry key:
HKEY_CLASSES_ROOT\CLSID\{00020424-0000-0000-C000-000000000046}\InprocServer32
exists. If not, create it.
-
Make sure this key contains the following two values:
(Default) |
= |
"oleaut32.dll" |
"ThreadingModel" |
= |
"Both" |
It's unclear if this IE bug is related to Cosmo Player; the bug doesn't
happen on most systems with Cosmo Player 2.0 or 2.1.1, and it has
been seen on machines that have never had any version of Cosmo Player
installed. Also, it's possible that the presence of certain versions of
Netscape might affect whether or not you see this bug in IE on your system.
-
Netscape: Java hang with Netscape 4.0x and 24-bit
display under Windows NT 4.0
This is a known bug in Windows NT 4.0 Service Pack 3, triggered by
Netscape Communicator (4.0x) when running with a TrueColor (24-bit) display.
If you're seeing this bug, note that the problem isn't specific to Cosmo
Player: Netscape isn't ever able to start Java! (Just try displaying
the Java Console by selecting "Communicator" -> "Java Console". If that
hangs, you have the Java/TrueColor bug.)
More information on this bug is available from Netscape at http://help.netscape.com/kb/client/971009-22.html,
and a fix is available on
Microsoft's ftp site (the file you need is admnfixi.exe, which
is an auto-installing executable).
Also, there's a similar problem which is specific to the Matrox Millennium
graphics card (when using outdated drivers); more information is available
from Netscape at http://help.netscape.com/kb/client/970805-1.html.
-
Installing Netscape 4.05 breaks Cosmo Player 2.1.1
Netscape Communicator 4.05 includes Cosmo Player 2.0. If you attempt
to install it on a system that already has Cosmo Player 2.1.1, though,
the result will be a broken installation of Cosmo Player 2.0 (which won't
be able to display textures, among other problems).
To avoid this problem, be sure to reinstall Cosmo Player 2.1.1
after installing Netscape 4.05 on your system.
-
Support for the .wrl.gz file extension
Using the file extension .wrl.gz for gzip-compressed VRML
files is a deprecated feature, and will not be supported by releases
of Cosmo Player after 2.1.1. (In other words, this release of Cosmo Player
does
support the same file extensions - including .wrl.gz - as Cosmo
Player 2.0. But don't use .wrl.gz filenames in the future!)
This is because some HTML browsers don't work well with multiple file
extensions on a single file (such as "foo.wrl.gz"). Specifically,
IE4.01 and versions of Netscape greater than 4.05 do not provide .wrl.gz
files to Cosmo Player at all, even when Cosmo Player is fetching an Inlined
file! (So even in Cosmo Player 2.1.1, content using .wrl.gz files
will be broken in IE 4.01 and versions of Netscape greater than 4.05).
Until this is clarified by the VRML consortium in a "Recommended Practices"
document, the safest thing for authors to do is to rename files that end
in ".wrl.gz" to ".wrl". The ".wrz" extension
is an acceptable, but less correct, alternative.
Hardware and Software Configuration
-
OpenGL, Direct3D, and hardware graphics acceleration
Some graphics accelerators may produce slower performance and/or lower
rendering quality than the software renderer that is provided with Cosmo
Player. See the notes on OpenGL and Direct3D above
for more details.
-
8-bit color displays and hardware graphics accelerator cards
-
Most hardware graphics accelerator card vendors recommend that 8-bit color
not be used. Due to color palette difficulties with these cards and
the Windows operating system, we do not fully support 8-bit color displays
and hardware graphics cards.
-
Audio
Audio will only be "pseudo-spatialized" on Windows NT without Service
Pack 3 or higher. To get fully functional audio, install Service
Pack 3 or higher, available from Microsoft.
Audio will not be fully functional on Windows 95/98 without DirectX
3 or higher installed. To get fully functional audio, install DirectX
3 or higher, available from Microsoft.
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 Windows NT 4.0, DirectSound always
uses emulation mode. So, if you're running Windows NT 4.0, then you will
never be able to have two processes with audio active at the same time.
This should be fixed by Windows 2000 because the hardware vendors are promising
native DirectSound drivers under Windows 2000.
We've heard reports of MIDI problems on some systems; symptoms may include
MIDI sounds in VRML worlds not being played, MIDI sounds crashing the browser,
or a crash in Cosmo Player if you try to bring up a VRML world while some
other
MIDI sound is playing (eg. a MIDI sound on a different web page, such as
when launching "Chomp"). These problems are usually caused by bugs in specific
sound cards or MIDI drivers; please try downloading newer versions of your
audio drivers from your system or sound card manufacturer.
11. Support and Bug Reporting
Please use either the "Submit Feedback" button in the "Advanced" preferences
panel or the facilities at the Cosmo
Software web site to report bugs.
The latest version of these Release Notes can always be found on the
Cosmo
Player Support Resources page. And be sure to check the Cosmo Player
FAQ (Frequently Asked Questions list); it's also found on the
support
page, and contains a wealth of useful information about Cosmo Player.