If you already have installed Microsoft Internet Explorer and if you encounter the error message " InternetOpen returns error Invalid Parameter (87)", please remove the
DLL┤s urlcache.dll and wininet.dll from the GLView directory, because they are already
installed into the Windows system directory.
Startup
=======
glview.exe
OpenGL Specific:
================
Starts glview with a default OpenGL pixel format mode (Double-buffer, RGB)
glview.exe /x
Starts GLView without GL-initialization, first action should be to setup Pixelformat using menu Options->
Pixel Format -> Set.
GLView automatically use OpenGL acellerator hardware like graphics boards equipped with a 3DLabs
GLint chip.
Direct X:
=========
The Direct X driver can be choosen using the Options->Direct 3D Dialog.
The driver settings will be saved on program exit.
GLView can be flipped to fullscreen using the Options->Fullscreen Menu command.
Fullscreen mode can be terminated by pressing <ESCAPE> once or by popping up the
Options menu again using ALT-O.
The 'F' Keyboard key also toggles fullscreen mode.
A 3D file or a WWW-VRML-url can be specified on the commandline.
Please create and configure a network caching directory in WWW->Options->cache directory on a filesystem
supporting long filenames.
Note that you can remove any contents from this directory, after loading a bunch of scenes.
GLView will not free files from the cache automatically.
For viewing HTML URL┤s the path to your WWW Browser must also be configured.
You can manually associate GLView with 3D file extensions (e.g. wrl, 3dv) using
the "Options->Register file types" command.
For slow machines turn on the following options in the Config->options dialog:
"degrade during move" & degrade style "bounding boxes"
initial window size x 320 y 240 (or larger)
If the cursor is a busy symbol, the texture icon can still be depressed to turn off
texture mapping. The escape key will first disable animation, and secondly texture mapping.
Support questions regarding the hardware support of Matrox graphics cards should
be send to Matrox directly, once Windows 95 drivers are available from Matrox
GLView can be adapted to properly use the right pixelformats. Try to enable the
"16 bit z-buffer" options in "Options->Config" and restart GLView.
GLView is availabe as
=====================
- commercial software on 3.5" disks + manual + more examples.
- customized redistribution executable versions for hard or software vendors
- Sourcecode
- GLView classes as a class library
supporting a highlevel MFC GLView View class and lowerlevel
graphical object, attributes and operation classes and a VRML 1.0/Inventor and VRML 2.0
compatible class library for integration in other applications
GLView has been licensed by Siemens Nixdorf AG for bundling with Celsius Pentium Pro OpenGL Workstations.
Credits
=======
This software is based in part on the work of the Independent JPEG Group.
Portions of this software are based in part on the VRMLScript Interpreter
written by Silicon Graphics, Inc., Mountain View, California, USA.
Fileformats
===========
GLView supports VRML 2.0,
GLView fully supports VRML 1.0 files with several extensions. (Please see VRML section.)
GLView supports also a own fileformat with extension 3dv.
A short description of this file format is supplied in file readme.txt.
Geo format files (like supplied with Intel 3DR) are supported for import and export.
POV object scripts containing smooth_triangles can be exported and
support for DXF-Input has been implemented.
Single rgb,dib,bmp,gif,tga or jpeg image files are read in as a single textured, rotatable polygon.
Raw files, containing a triangle per line can be imported and exported.
On import the triangles are automatically converted to a smooth object.
STL files, containing triangles with facet normals can be exported.
A VRML file can be saved, any comments in the original file are lost. Please use info
nodes for persistent annotations.
Single object VRML 1.0 Files (extension wrl) can be exported after the TOOLS->Combine command has been used.
GLView will then write a IndexedFaceSet with
coordinate, vertex normal, vertex color (as Material) and vertex parameter (TextureCoordinate2)
information. If a triangulated face set is needed, use the Tools->Triangulate command for
conversion.
Support for import of Wavefront obj files with polygons (f) has been integrated.
Texture files can be a 24 Bit SGI RBB or dib/bmp images.
Additional formats are JPEG,GIF,TARGA and PPM.
GLView can render an arbitrary scene to a screen resolution independent BMP file.
On Import there is no check for valid fileformats.
WCVT2POV A good Windows 3D File converter program (including 3DS ==> VRML) can be found on:
http://www.europa.com/~keithr/
For Kinetix 3D Studio Max the VRML 2.0 Export Module is recommend.
Files
=====
GLVIEW.EXE executable
GLVIEW.HLP help file
readme.txt readme file
order.txt Order form
licencse.txt License agreement
whatsnew.txt History
GLViewNodes.html GLView VRML extensions
file_id.diz description
*.3dv GLView native format 3D Data sets
*.geo 3D Data sets
*.rgb SGI rgb texture image
*.dib,*.bmp texture image files, can also be used as "3d" data-set
*.gif,*.tga,*.jpg "
*.ppm "
*.png PNG image file
*.3dm Material file
*.obj Wavefront data files
*.stl STL triangle format
*.raw RAW 3D-Triangle format
*.wrl VRML 3D Scene description
*.vrml "
*.iv SGI OpenInventor files, GLView only support the ascii version
*.ext.gz gzip compressed files, for automatic unzipping gzip.exe must be in the path.
*.vrl,*.url a small text file containing a reference to a WWW url (normally a VRML file)
format currently incompatible with Windows 95 Internet Explorer URL files.
VRML
====
GLView supports VRML 2.0 and VRML 1.0 with several extensions.
GLView can directly acess WWW VRML files without using a WWW Browser.
For using GLView with a WWW Browser, add GLView as a helper application.
Example for Netscape:
Inside Netscape :
Select the "Options/Preferences" menu item.
Select the "Helper Applications" item in the pulldown.
Click the "New Type" button.
In the Configure New Mime type dialog enter:
For Mime Type: x-world
For Mime Subtype: x-vrml
In the "Extensions" field enter: wrl,wrl.gz,vrml,wrz
In the "Action" group box click "Launch Application"
In the text entry field enter the full GLView path.
Another option is to save a link to a VRML location inside Netscape
to the clipboard using
Right Mouse Button -> "Copy this link location".
In GLView in the "WWW->Open URL-> url field" or in the url tool bar the
link can be pasted with <Control> v. GLView is than able to resolve relative
WWWInline nodes to the URL for browsers other than Netscape.
Some WWW references for VRML files are built into GLView. The supplied
url files (vrl extension) are pointing to some interesting, medium complex VRML files.
If the mouse is dragged over the scenes, GLView searches for Hot-Links (WWWAnchor Nodes).
If a hot-link is displayed, a double-click with the left mouse button will execute the link.
Possible actions are : Jumping to a new camera position, jumping to a new VRML scene, or
spawning the WEB-Browser program specified in the WWW->Options dialog.
VRML 2.0 specific notes
=======================
TouchSensors and other sensors have precendence on a mouse down event.
if the mouse moves above a object with a sensor attached, the status line displays "touch".
Anchors and touchsensors can also be activated with a double click.
Supported Nodes
===============
+ supported
- not supported
- D3D not supported in D3D Version
* partly
Grouping nodes
Anchor +
Billboard +
Collision + (including proxy )
Group +
Transform +
Special Groups
Inline +
LOD +
Switch +
Common Nodes
AudioClip +
DirectionalLight +
PointLight +
Script +
Shape +
Sound +
SpotLight +
WorldInfo +
Sensors
CylinderSensor +
PlaneSensor +
ProximitySensor +
SphereSensor +
TimeSensor +
TouchSensor +
VisibilitySensor + (will be enabled on first draw, fully supported in BSP Scenes)
Geometry
Box +
Cone +
Cylinder +
ElevationGrid +
Extrusion +
IndexedFaceSet +
IndexedLineSet +
PointSet +
Sphere +
Text +
Geometric Properties
Color + (* see notes on direct 3D Ramp-Driver)
Coordinate +
Normal +
TextureCoordinate +
Appearance
Appearance +
FontStyle +
attributes like leftToRight or topToBottom are ignored
ImageTexture +
all GLView texture formats supported
Material +
MovieTexture -
PixelTexture + (- D3D after resize)
TextureTransform +
Interpolators
ColorInterpolator +
CoordinateInterpolator +
NormalInterpolator -
OrientationInterpolator +
PositionInterpolator +
ScalarInterpolator +
Bindable Nodes
Background + (including background textures + color gradients) (D3D Ramp Driver : single skyColor only)
Fog -
NavigationInfo +
Viewpoint +
Script Node
===========
The script language is vrmlscript, a language similar to JavaScript.
The protocol "vrmlscript:" is recognized.
The protocol "javascript:" is treated as vrmlscript
Java support is planned.
PROTO and EXTERNPROTO are implemented,
If possible GLView tries to share nodes between several Proto instances.
PROTOS can contain scripts or other PROTOS.
The Direct 3D Version now support triangulation of non convex polygons and text.
Triangulation (convex FALSE) can slow down file loading.
The Direct 3D Version currently lacks propper support for color per face.
ColorPerVertex is supported using the Direct 3D RGB-Emulation driver. GLView treats objects with color per vertex as unlit.
The Direct 3D ramp driver doesnt support color per vertex, colored lights
etc. If a scene appears very dark, switch to the RGB Driver to check if
the scene appears now correctly colored due to color per vertex requirement.
The VRML 2.0 Background Node MFColor fields also require the D3D support
of color per vertex.
The Tree Editor allows browsing of VRML 2 graphs including inspecting of
ROUTE, Scripts and Proto nodes.
At the top-level all Protos and Routes of the scene are shown.
Nodes must be double clicked to view fields with non default values, to see all fields the menu function Node->Expand all fields must be used.
ProtoInstances are showing in additions to their fields their instanced scene-graph and the prototype definition.
After Tree Editor changes a new VRML 2.0 file could be written.
Specific Route information:
A script function is executed as soon the script node receives an eventIn.
An existing eventsProcessed will not be called, but an initialized or shutdown
script function. An eventOut from a script functions will be send imideately on assignment
to the eventOut field, and not at the end of the script function.
If you open several GLView sessions or if GLView consumes too much
processor resources due to animation, iconize the GLView window or
stop the animation using the toolbar button.
VRML 1.0 specific notes
=======================
The VRML file format specification can be found on
http://www.wired.com
Good WWW starting points are :
http://sdsc.edu/vrml/worlds.html
http://www.ocnus.com/models/
GLView defaults to Gouraud-Shading for VRML scenes. Initial texture mode and texture loading
depends on "WWW->Options->texture loading"
Note, some files with extension wrl are not VRML 1.0 files, because they
contain other custom nodes or some unsupported Open Inventor nodes.
GLView supports a bunch of Inventor nodes like QuadMesh, TriangleStrip, FaceSet, BaseColor,
Label ....
Other unsupported nodes are ignored or are causing the reading to stop.
Inventor files can be converted to VRML using a tool like IvToVrml. A related tool
on SGI Workstations is ivQuick which optimizes Inventor scenes and ivcat which translates binary
IV files to the ascii version, which GLView may be able to read.
Some GLView wrl files will not render on other VRML browsers, because of custom GLView nodes.
For material bindings "per vertex indexed" "per face" "per face indexed" the diffuse (or base color)
channel (if of the material is used. If the emissive color channel supplies more values than the diffuse
channel, the emissive colors are used for the local colors. Scenes based on emissive materials can be
rendered using "Render->non lighted".
Material 0 ist set as a default for the primitive.
Extensions:
for GLView node extensions please see file GLViewNodes.txt
VRML Tree Editor
================
Using the "Tools->Tree Editor" command the VRML scene tree can be examined and/or edited.
Double-Clicking on a icon displays lower level information.
Nodes can be dragged and dropped around, or can be cut/copied/pasted using the edit menu.
Nodes can be pasted in from file or written to file.
GLView automatically resolves DEF/USE references and duplicate node names.
Paste pastes a link to the node referenced by a copy. It┤s equivalent to writing
USE node in a VRML ascii file.
A full copy, with all DEF/USE references local can be achieved by writing the node to a
temporary file. This file can be pasted into the tree using the "Node->Read" command.
Unknown nodes with proper field definitions can be edited as well.
Single value fields can be edited using the Field->Edit command.
Current Limitations:
No Edit of SFBitmask, SFImage fields,
No Loop Detection on Drag and Drop and Cut & Paste,
If you produce structures like a->b->a GLView will hang.
After node renaming or auto node naming the names of other displayed DEF/USE reference node are not
updated automatically, use View->Refresh instead.
To be done :
===========
OpenGel sorted alpha blend transparency
Use render "Mode->non lighted" as workaround.
Homespace builder files containg materials using only the emissive channel, the diffuse color
is black. This is no problem, the best way to view them is render->non lighted. Only the
bounding-box / wireframe displaymode will then render the edges in black, but black is also
the default window background color, so the workaround is to change the background color to
something different from black.
Not planned
===========
VRML files with Macintosh end of line (\r) character
Support for the crease angle in ShapeHints, GLView will smooth all edges between
faces with some shared vertex information.
Workaround :
Turn on flat-shading for scenes depending on this value.
Flat shading can be forced in VRML files by using a PER_FACE normal binding in VRML 1.0
or by adding
vertexPerNormal FALSE
to the Nodes supporting this field in VRML 2.0.
Direct 3D Version
=================
There are currently still some limitations compared with the OpenGL Version.
No support for per face color.
Color per vertex is supported in the Direct 3D RGB Emulation driver.
Lighting is ignored on a object with color per vertex.
Morphing works best with objects up to 2048 vertices (the limitation of the size of
Direct 3D execute buffers.)
Window resizing is slow, because all Direct 3D objects has to be recreated.
Sound and Fullscreen currently doesn┤t work together.
GLView VRML BoundingBox display and the extension Node Image is currently not supported.
The Ramp Driver has limitations regarding light source attributes.
Very fast texture mapping can be enabled in the RGB driver, by setting
the Direct 3D Texture format to the display format (eg. 6 5 5 or 5 5 5 for high color)
and selecting "Copy" texture blend mode in Rendering -> Texture options.
Direct 3D Boards supporting only acceleration in fullscreen mode (3dfx etc.) are
currently not supported, a fix will be made available shortly.
OpenGL Version
==============
If VRML 2.0 scenes look to dark, enable the headlight in the
"WWW->Options->headlight" dialog or using the Camera->headligt Menu command.
If scenes are looking to bright, disable scene lights or
decrease the lightscale factor from 1.0 to 0.5.
Transparent Materials are supported via Alpha-Blending,
the current limitations is, that transparent surfaces should
be at the *end* of the VRML file, to get the expected
effect.
If you enable Rendering->Options->Transparency Transparent objects will be
rendered after all non transparent objects.
If you enable 16 Bit z-buffer, rendering could look a bit strange.
Workaround: Enter an higher number into Camera-Viewpoints->znear (e.g. from 0.0001 to 1.0) and also lower the zfar number.
In some certain instances GLView is unable to compute a proper scene bounding box
resulting in a badly adapted z-buffer range. Part of a scene may be invisible. This could happen if the VRML file specefies incorrect values for the bboxSize bboxCenter fields of Group nodes.
To solve this problems a depth range can be recomputed in the Camera->Viewpoint menu
by clicking the small button right to the znear/zfar values.
If Netscape is hanging because of some problem, GLView can hang too on opening of local files.
GLView trys to get information on the URL of the file from Netscape.
Solution : Kill the hanging Netscape task.
Matrox Graphics boards can do OpenGL acceleration only in some display modes and with a 16 Bit
Z-buffer and the right amount of Memory installed.
Enable a 16-Zbuffer by enabling "Options->Config->16 Bit z-buffer" and restart GLView.
Verify that "Options->GL Info" shows the Matrox driver instead of the Microsoft driver.
If this is not working try to run GLView with the /x parameter and choose a GL Pixelformat via