html Files, Applet Tags, and Applet
Parameters
In order to view a VRML97, .s3d, or .s3z file with
Shout3D 1.0, you need to create an html file that
instructs the browser to load the file into a
Shout3DApplet (or subclass) and then display that applet
in your browser. The Shout3DWizard automates this
process, but sometimes you may need to create or hand
edit your own html files. Or you may just want to
understand what is really going on inside the demo html
files and/or those published by the the Shout3DWizard.
This document explains the anatomy of a Shout3D html
file.
In point of fact, the only piece of an html file that
is needed to run Shout3D is an applet tag. This
is the standard way of telling browsers to load and run a
java applet. An applet tag starts like this:
- <APPLET
and ends like this:
- /APPLET>
All the things that go in between are what control and
specify the Shout3D applet.
Attributes
The first things after the applet tag opens are called
"attributes." These lie between the text
"<APPLET" and the first closing bracket
(>) that follows. The attributes describe the applet
to the browser, telling it where to look for the applet
and its supporting files, and how much real estate to
allot for the applet. There is nothing Shout3D-specific
about these attributes; they are common to all Java
applets. The attributes commonly used in Shout3D's applet
tags are the following:
- The CODEBASE attribute gives the location of the
codebase directory relative to the directory in
which the html file lives. The codebase directory
must contain all the Java class files and media
assets used by the applet
- The CODE attribute must show the location of the
applet class (relative to the CODEBASE directory)
that you wish to display in the browser. This is
the attribute that will distinguish between
applets such as WalkApplet.class versus
ExamineApplet.class
- The ARCHIVE attribute specifies an archive file
-- a large bundled file containing many smaller
files that are fetched together. Shout3D
typically specifies shout3dClasses.zip, an
archive containing all the Java classes most
commonly used by Shout3D applets. (Click here for more
information on the shout3dClasses.zip archive)
- The WIDTH and HEIGHT attributes specify the size,
in pixels, of the applet.
When the attributes are filled in, the
applet tag then looks like this:
<APPLET CODEBASE="codebase"
CODE="shout3d/Shout3DApplet.class"
ARCHIVE="shout3dClasses.zip" WIDTH=320
HEIGHT=240>
</APPLET>
Applet
Parameters
The rest of the things that control the applet are
called applet parameters. Each parameter is enclosed
between its own pair of pointy brackets, and has both a
name and a value. An applet tag containing two parameters
might look like this:
<APPLET CODEBASE="codebase"
CODE="shout3d/Shout3DApplet.class"
ARCHIVE="shout3dClasses.zip" WIDTH=320
HEIGHT=240>
<param name="src"
value="models/modswing.s3d">
<param name="gzip_src"
value="models/modswing.s3z">
</APPLET>
Applet parameters are custom to the applet, and new
applets may define parameters to make it convenient to
change the applet's behavior. For example, the
"src" applet parameter passes the name of a
VRML97 or s3d file to the applet; this may seem trivial
but it's the reason why you don't need to create a
separate, custom applet for each and every file you want
to display. Instead of 'hard coding' the file, the applet
parameter lets the applet look for a 3D model that you
specify at run-time, right in the html file.
Tje following list shows the applet parameters of the
Shout3DApplet. This is the base class of all Shout3D
applets, so all others will respond to them as well.
Other applets may define their own parameters (for
example, see MultiTestApplet and WalkApplet in the following section)
- The "src" parameter
denotes an .s3d or VRML97 file to view, given
relative to the CODEBASE directory.
- The "gzip_src"
parameter denotes an .s3z file to view, given
relative to the CODEBASE directory.
- Note: if both a gzip_src and src tag are
specified, the gzip_src will take precedence in
browsers that support Java 1.1.0 or above. Other
browsers will ignore the gzip_src parameter and
read the file specified by "src." Also,
you can send a gzipped file as the
"src" parameter, but this practice is
not recommended as it will crash browsers that
are running early versions of Java.
- The "background"
parameter denotes a gif/jpg file to view as the
backdrop, given relative to the CODEBASE
directory. If this parameter is specified, it
will override any Background node contained in
the input 3D scene as the starting background.
- The "backgroundColorR"
"backgroundColorG" and
"backgroundColorB" parameters
set the value of a solid background color. If any
of these is included, then the specified color
will override any Background node contained in
the input 3D scene as the starting background.
- The "backgroundStretchToFit"
parameter sets the value of the background node's
stretchToFit field to true or false. (Default is
false).
- The "headlightOn"
parameter has values "true" or
"false" to create a headlight that is
on or off. If this parameter is specified, its
value will override the headlight setting of any
NavigationInfo node specified as the starting
NavigationInfo.
- The "antiAliasingEnabled" parameter
controls whether anti-aliasing is to be
performed. Anti-aliasing is only applied at edges
between the scene geometry and the background.
Anti-aliasing looks good, but slows down
rendering. (default = false)
- The "bilinearFiltering"
parameter controls bilinear filtering of
textures. If true, it is turned on and the applet
smooths out the pixellated artifact that occurs
when small textures are applied to large
surfaces. Bilinear filtering improves image
quality but slows down rendering (default = true)
- The "loadResourcesInSeparateThread"
parameter, if true, specifies that the Shout3D
scene will progressively load in one or more
background threads. The scene may appear more
quickly this way, prior to the completion of the
fetching of all textures. The disadvantage here
is that some textured objects will appear 'naked'
(without their textures) until their textures
have been fetched. If the value of this option is
false, then textures and sounds will load as part
of the main thread; this results in a longer
delay before the Shout3D scene will be displayed,
but no objects will ever be seen 'naked'.
(default = true)

Copyright© 1999-2000, Shout
Interactive, Inc.
|