view3dscene is a browser for VRML (1.0 and 2.0) and X3D, and a viewer for other 3D model formats (3DS, MD3, Wavefront OBJ, and Collada are handled). It supports viewing the scene in the "Examine" mode and walking in the virtual world with features such as collision detection and gravity. Rendering is done using OpenGL. A built-in ray-tracer allows the generation of images with more effects (like shadows and mirrors) and conforming precisely to the VRML 97 lighting specification. The program can also convert files from 3DS, MD3, and other formats to VRML and pretty-print VRML files.
| Tags | multimedia Graphics Viewers Graphics Conversion 3D Rendering |
|---|---|
| Licenses | GPL |
| Operating Systems | Mac OS X POSIX Linux Windows Windows Windows Windows BSD FreeBSD |
| Implementation | Object Pascal |
Recent releases


Changes: LOD (level-of-detail) node and Collision.proxy are handled now. A KambiOctreeProperties extension has been added to specify octree limits. The shape octree was sped up by using mailboxes. Various workarounds for Mesa3d bugs (in particular on Intel GPUs) and Mesa detection have been improved. Various frustum culling optimizations. Small improvements in the view3dscene interface: blend status text, a shapes count fix, and keeping the selected triangle when transforming shape. The path tracer honors VRML >= 2.0 materials.


Changes: Collision detection is now fast and accurate even in very dynamic scenes. Changing the Switch node's choice is now very fast, and many other events are significantly optimized. Starting the playback of time-dependent nodes is completely reliable. Dynamic shadows are rendered by view3dscene. The shadowCaster extension was implemented, to explicitly mark which objects cast shadows. The new draw mode allows you to view silhouette and border edges. ProximitySensor.orientation_changed and all of the X3D "event utilities" were implemented. alphaChannel extension was added. The open dialog under GTK 2.14 or later was fixed.


Changes: Scripting (in the KambiScript language) is implemented. Animating a camera by animating the Viewpoint position works. To improve navigation in scripted worlds, navigation type = "NONE" and speed = "0" are supported. Quaternions are used for EXAMINE navigation, which gives much more natural rotations when dragging with a mouse.


Changes: The main new features are X3D support and an events mechanism. Many new nodes related to events were implemented: four basic sensor nodes, linear interpolation nodes, and X3D event utilities. The implementation of existing features was improved to take events into account: binding nodes, routing events to GLSL shaders, controlling Inline and InlineLoadControl, and prototypes. MovieTexture is handled, with an extension to load image sequences with full alpha channel. Recording movies is possible. Other new features include Extrusion, BlendMode, KambiInline nodes, new X3D triangles/quads primitives, and HAnim nodes.


Changes: Bump mapping was implemented; you can observe it (and experiment with various bump mapping methods available) if the VRML model specifies normal maps. GLSL shaders in VRML files are supported (specified using X3D syntax). Anti-aliasing is available. There is basic support of Collada model format (both 1.3.x and 1.4.x versions). Wavefront OBJ format handling wa improved. Examine mode allows you to rotate and move the scene by mouse dragging. The --screenshot command-line option was implemented, to take screenshots in batch mode. Various "fill modes" were implemented.
A C++ library with support for sockets and serial I/O and a gtkmm widget set.