These Release Notes describe the 1.0 Beta3a Release of Cosmo Player for Windows95 and WindowsNT. The following sections are included:
For the latest
version of the Cosmo Player 1.0 Beta3a Release Notes, see the
vrml.sgi.com web site.
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
New features and bug fixes in Cosmo Player 1.0 Beta3a include the following:
Features and bug fixes in Cosmo Player 1.0 Beta3 include the following:
The 1.0 Beta3a release of Cosmo Player includes:
To run Cosmo Player, the following configuration is recommended (but not required):
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).
VRML 2.0 nodes not yet supported:
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 :
#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
(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);
}
}
}
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.