home  

Shout3D™ 1.0 - Demos

Demos Guide

Shout3D 1.0 comes bundled with a great many demos. This page provides links that lead to all of them. The html files for the demos are all located in Shout3d_runtime\demos, and the name of each html file is listed after each demo's description.

All the models (VRML files, .s3d files, image files and sounds) are located in the Shout3d_runtime\codebase\models directory. Some of the demos utilize custom applets and custom nodes. The source code for the custom applets is in Shout3d_runtime\codebase\applets, and the source for the custom node Pyramid is in Shout3d_runtime\codebase\custom_nodes.

Animated Scenes

Each of these displays a scene authored as a VRML 2.0 file, then converted to Shout3D's smaller .s3d format.. There's no interaction in the applet, just playback of an animated 3D scene.

  • modswing- a short animated character scene.(modswing.html)
  • ratPack -- another short animated scene.(ratpack.html)
  • x3d logo-- an animation of the X3D logo(x3d_logo.html)
  • antialiased x3d logo -- the X3D logo, but with antialiasing performed against the background for cleaner edges.(antialiased_x3d_logo.html)
  • beatMonkBash-- a longer (~1 minute) 3D chase scene with Mod agents Jo and Oscar.(beatMonkBash.html)

"Walk" Navigation

This demo lets you click and drag to "walk" through a virtual environment. click-drag in the window to walk. Move the cursor up/down to move forward/backward, or left/right to make turns. The source code for this navigating applet is in Shout3d_runtime\codebase\applets\WalkPanel.java and WalkApplet.java

  • walk demo-- a walk through a virtual space station.(walk_demo.html)

"Examine" Navigation

This demo lets you click and drag in the applet to tumble the scene, a paradigm known as "Examine" navigation. click-drag in the window to rotate the scene, press the control key and drag to zoom in and out The source code for this navigating applet is in Shout3d_runtime\codebase\applets\ExaminePanel.java and ExamineApplet.java

An Interactive Game

This game shows how you can capture and react to mouse input to drive the action of an interactive game containing real time physics. Source code for the game is in Shout3d_runtime\codebase\applets\ModDunkPanel.java and ModDunkApplet.java

  • Mod Dunk - click and hold to bring Ward Hole's arm back. later, release to let the plunger fly and try to hit the target. (moddunk.html)

Sound

Shout3D applets can play sounds, too. The model for this scene (Shout3d_runtime\codebase\models\beatMonkBash_with_sound.html) contains Shout3D's JavaSound node to play back a soundtrack while the animation runs.

JavaScript

Shout3D applets can be controlled using JavaScript right in the html page. All the interaction in the following demos is accomplished by using JavaScript to make programming calls into the Shout3D applet displayed on the page. Click 'view source' in the browser, or check out the html files in a text editor to see how these work.

  • multipurpose JavaScript demo -- click the controls to make Bill do a whole bunch of stuff using JavaScript.(javascript_demo.html)
  • jump after animate -- click the text to play Bill's animation and then jump to a different web page as soon as the animation finishes running.
  • where's the camera -- click the text to show the camera's current position and orientation.  Click and drag within the applet to change the camera's settings.

Interacting with Scenes

Each of the demos below takes advantage of a different Shout3D feature to let you interact with the scene in a different way:

  • Anchor Test- click the various objects to go to different viewpoints and see different files. The 3D scene file contains "Anchor" nodes. These are nodes you can click to change the point of view or move to a different file. (anchorTest.html)
  • Light Test- click objects to light them, click bottom bar to light them all This test shows how one light can affect any of the different groups or objects in a scene, using the Light node's affectedGroups field. The demo employs the LightTestApplet and LightTestPanel provided in the applets directory. (lightsTest.html)
  • v_is_for_viewpoint-- click in the window, then press v repeatedly to change viewpoint, or the b key to change background -- shows how setting the isBound field of Viewpoint and Background nodes will automatically make them be used by viewers. Employs the BindingTestPanel and BindingTestApplet in the applets package.(v_is_for_viewpoint.html)

Rendering Effects

These demos each illustrate a different aspect of Shout3D rendering.

  • Double-sided lighting, rotating Polygon- shows double-sided lighting affects an object made of a single polygon (renderTests\doubleSidedTest.html)
  • Emissive Plus Texture Dudes-- shows three characters with the same texture, the color of which is tinted by changing their emissive colors. (renderTests\emissivePlusTextureDudes.html)
  • Emissive Diffuse Texture Cones-- shows eight textured cones. The top row shows rendering when the diffuseColor is varied, the bottom row shows rendering when the emissiveColor is varied. (renderTests\emissiveDiffuseTextureCones.html)
  • Coordinate Interpolators-- shows coordinate interpolators affecting lines, points, and faces (renderTests\coordInterpTest.html)
  • Color-per-vertex-- lots of combinations to show how the fields of an IndexedFaceSet can interact to produce differently colored and shaded polygons (renderTests\colorPerVertexCombos.html)
  • 8-bit texture transparency -- shows a GIF texture with 8-bit transparency (renderTests\alphaTransparency.html)

Points and Lines

Shout3D can render lines and points of different widths and sizes.sizes.

  • Line Robot- shows the use of the lineWidth, pointSize fields (lineRobot.html)

Picking Tests

Each of these demos employs an applet that tracks the movement of the cursor over the scene to show what is picked. move the cursor over the applet window to see an arrow that hugs the picked object's surface. These examples employ the MultiTestApplet and MultiTestPanel in the applets directory.

Creating a new Node Type

these two demos show how Java programmers can create a new type of node, then use it within a Shout3D scene. Both of these the Pyramid node, the source code for which is provided in Shout3d_runtime\codebase\custom_nodes\Pyramid.java.

  • onePyramid-- uses Shout3D's automatic mechanism for finding and reading new Node subclasses. Reads and displays an s3d file containing a pyramid.(onePyramid.html)
  • pyramidClickStretch-- click drag on a pyramid, move left/right to edit width&depth, up/down to edit height (pyramidClickStretch.html) This demo employs a custom applet, (source code is in PyramidTestApplet and PyramidTestPanel of the applets directory) to create 3 Pyramids, watch for mouse input, and change the sizes of the pyramids..


Copyright© 1999-2000, Shout Interactive, Inc.