Vizard embeds the powerful Python 2.4 language as its core medium for programming logic. This means you get a modern, object-oriented language that has an enormous and growing user community backing it ensuring that your code investment is secure and portable. Existing libraries are available for hundreds of different specialty tasks.
OpenSceneGraph provides an internal scene graph structure to your project, allowing you to reap the performance and programming benefits of this logical structure. Since OpenSceneGraph is an open architecture, you can write your own performance modules to expand on the already rich feature set in Vizard should the need arise.
Extensive 3D model formats: .wrl (VRML2/97), .flt (Open Flight), .3ds (3D Studio Max), .txp (multi-threaded TerraPage loader), .geo (Carbon Graphics), .bsp (Quake3 world layers), .md2 (Quake animation models), .ac (AC3D),.obj (Alias Wavefront), .lwo/lw (Light Wave), .pfb (Performer), the OSG's native .osg/.ive format, DirectX .x format, and .3dc point cloud.
Character (human biped) formats: 3D Max Character Studio (via 3rd party exporter) and Cal3D .cfg files.
Raster image formats include: .rgb/.rgba, .dds, .tga, .gif, .bmp, .tif, .jpg, .pic, .pnm/.pgm/.pbm, and .png, jp2 (jpeg2000). Support for compressed and mip-mapped images provided in .dds format.
Audio modes: mono, stereo, 3D; supported formats: .wav, .mp3, .au., .wma, .mid, and any other DirectShow supported format.
Video formats: Any DirectShow compatible video format can be used as a texture, including .avi, .mpg, .wmv, animated GIFs, and more. Access to frame-by-frame control of video is available. Videos with alpha channels are supported.
OpenGL Shading Language: built-in support for GLSL, allows you to dynamically generate shaders and modify uniforms at run-time.
Clustered simulations: Render a simulation across multiple computers. Synchronization across cluster is automatically handled by Vizard. Includes a high-level module for handling a multi-wall (CAVE) setup.
Publish to executable: Vizard can automatically compile your script into a self-contained executable, which can be used royalty free on any computer.
Multiple monitor/viewports configurations that are user definable. 16:9 aspect ratio or any other custom configuration is possible.
Real-time Physics: support for real-time physics collisions and dynamics. Includes joints, springs, and motors. |
Keyframe animations: support for creating keyframed animation paths at run-time.
Dynamic lighting: up to eight lights, types: spot, omni and linear.
Multi-pass rendering: support for dynamic multi-pass rendering to textures, pbuffers, and OpenGL Frame Buffer Objects (FBO). This allows for advanced techniques, such as reflections, refractions, shadows, and more.
Multi-user network support via UDP which provides extremely easy-to-use front end for network-enabling any Vizard application.
Visual user interface lets you create 2D (HUD style UI elements such as text, push buttons and slider bars) and 3D content without any programming.
Extensive connectivity to hardware providers of virtual reality and VizSim equipment. Can also connect to hardware through VRPN or trackd.
Full collision detection capabilities between either the viewpoint and any node on the scene graph or between any two arbitrary mesh nodes on the scene graph.
Extensive support for 2D text, including TrueType fonts, Unicode text, and techniques for reliably aligning your text.
OpenGL fog: support for linear and exponential fog.
Built-in support for sophisticated character animation, including walk/run generators, motion blending, arbitrary prop attaching, full deformable mesh transformations, and LOD. Included avatars are much higher quality than typical game style characters and yet are efficient enough to allow 100 or more simultaneous avatars to be animated at full frame rates.
Motion capture: Animate virtual characters in real-time from a live mocap actor.
Stereo rendering is built into Vizard, including horizontal/vertical split-screen, quad buffering (for shutter glasses), line-interlaced, and anaglyphic.
Sophisticated matrix operators are available that allow you to directly operate in homogenous coordinates without having to write a single line of matrix math; used to transform objects (vertices or textures coordinates), viewpoints, tracker coordinates, or arbitrary data.
Embed HTML pages right in your graphics window for instant display of text and graphics.
Web/Video camera plug-in: Stream live video into a texture in real-time.
Reaction timing: Support for accurate user response timing using a keyboard, mouse, or Cedrus input device. |
On-The-Fly geometry: Create and modify any OpenGL primitive (points,lines,triangles,etc..) in your script. This allows real-time procedural geometry.
vizact module: Includes many pre-programmed, scriptable actions for animating objects and avatars.
vizmat module: Includes many advanced matrix transform operations, and various other 3D math functions.
viznet module: A high-level interface for creating networked server/client simulations.
viztask module: A high-level interface for scheduling microthreaded tasks, through Python's built-in generator syntax. This allows easily scripting complicated sequences through reliable, readable code.
vizcam module: Includes many common camera controllers which can be used in place of the built-in camera controller.
hand module: Provides support for mapping an Immersion CyberGlove or 5DT DataGlove to a 3D hand model which is included with Vizard.
vizmic module: Support for recording audio from a microphone. Can also monitor audio level, allowing users to use a microphone to animate an avatar talking in real-time.
RGB-Z texture maps for panoramic backdrops (including cube maps) that can occlude user defined CG. For instance, use this technique to create the impression of an avatar walking behind trees in a photo panoramic background.
OpenGL non-power-of-two textures: With OpenGL 2.0, Vizard supports having textures with non-power-of-two dimensions.
Polygon offset feature used for rendering polygons which overlay underlying geometry; this helps avoid z-buffer collisions.
Input Devices: support for mouse, keyboard, and multiple gamepad/joystick/wheel (any DirectInput compatible device).
Support for nearly all standard virtual reality devices , including trackers, 3D displays, HMDs (head mounted displays), and many other peripheral devices.
Screen capture: support for capturing screen to an image or recording to an uncompressed video in real-time. Can also capture large resolution images that exceed monitor size.
Plug-in architecture allows adding custom effects, nodes, textures, and hardware devices. Vizard includes various plugins, such as a toon shader, skybox, real-time infinite terrain generator, and texture projector. Create your own with our free SDK. |