Truevision3D is a commercial computer software 3D engine first created by Sylvain Dupont in 1999.
The Truevision3D (commonly abbreviated as TV3D) engine is written in Visual Basic 6 and C++ and layered on top of the Microsoft DirectX API, currently supporting DirectX version 8. The engine is accessible from a number of programming languages including C++, C#, Delphi and Visual Basic (6 and .NET). The current version of Truevision3D is 6.3. Version 6.5, currently in public prerelease and very stable, includes significant updates to the engine, including DirectX 9 and shader support, as well as being rewritten in 100% C++. There are no plans to support DirectX 10 or XNA until a new version is worked on (TV7).
Versions 6.2 and 6.3 have issues with C++ support, it is not possible for example to make it work in certain compilers. Version 6.5 works with any language that can utilize COM, Managed libraries, or static libs.
There is also a known issue between the version 6.3 on Windows Vista since it needs a dll from DirectX 8 which Vista does not have and it is contractually illegal to simply add it. Microsoft has been contacted regarding this issue but has not demonstrated in their forums any will to include the dll.
Version 6.5 is a complete development solution which includes 3D, Media, and Network Engines.
Included with the SDK are multiple tools to help speed up development: a shader editor, model viewer, exporting plugins for various modeling software (3D Studio Max, Maya, and Milkshape 3D currently) and particle effects editor. Because version TV3D 6.5 no longer supports outdated mesh formats, many converters are also available. An official world or map editor is not currently planned because it hinders the end-user, since there is no way one editor can be used for every project this engine is used for. Furthermore, TV3D is a 3D engine, not a game engine, and an official editor would limit it too much. However, there are some user-created map editors available.
Truevision3D is free to use as long as the user doesn't mind a logo in the corner of the rendering viewport. To remove the logo and publish a commercial project, a license needs to be acquired. Currently, the cost is $150 for single title license, $500 for multi-title license. A source license can be purchased for an as yet undisclosed price.
Visual Basic 6 (VB6) via ATL/COM Library
Visual Basic.Net (VB.Net) via Managed Library
C# via Managed Library
Delphi via ATL/COM Library
C++ via Direct Library Support (not fully working in 6.3)
BlitzMax (6.5 only)
...and any ATL/COM or .NET-compliant language
Features of SDK version 6.5 only
Windowed or fullscreen support, with the ability to switch between modes during rendering
32-bit standard rendering pipeline for main buffer rendering
64-bit and 128-bit floating point rendering pipeline available
Multiple viewport mode available in windowed mode
Multiple adapter support, with full enumeration of devices and supported rendering modes
Antialiasing and anisotropic filtering up to 16x supported
Switch between point, line, and solid rendering modes
Full DirectX 9.0c effect file support for shaders, in HLSL or Assembly
Support for Shader Model 1.0 to Shader Model 3.0
Extensive support of predefined semantics for access to internal parameters
Shaders supported on most TV3D objects, including mesh, actor, landscape, and minimesh
Landscape and Terrain System
Highly optimized chunk-based terrain rendering
Chunked Level of detail with geomorphing for progressive LOD
Realtime deformable terrain with single- or array-based point updates
Detailed texturing using texture splatting with up to 16 simultaneous layers
8-bit or 24-bit heightmap support for terrain generation
Custom terrain data format for fast terrain loading and parsing
Fast altitude queries and collision detection
Automated fast culling using internal quadtree
Complex integrated water system for realistic looking water
Flexible mesh system including on-the-fly mesh creation
Supports meshes up to 16 million triangles and vertices
Various vertex formats supported
Frustum culling via sphere or box
Up to 8 textures per group for combinations of diffuse, normalmap, specular, emissive, heightmap
Accurate triangle or bounding volume collision
High performance skeletal or morph target animations
Supports 3 skinning modes, including CPU, blended, and shader-based
Full support for custom shaders on actors
Animation transition support from one animation to another
Animation blending with up to 4 simultaneous tracks
Exporters for Maya, 3DS Max, and Milkshape 3D
Included conversion utility for Half-Life 1 MDL files
Accurate collision detection and mousepicking support
Full attachment system for actor bones
Bone manipulation via internal calls for custom animation systems
Material and Lighting System
Point, directional, and spot lights supported
Managed lighting system to automatically select the best active lights for the object
Standard per-vertex lighting with transform and lighting support
Per-pixel lighting with bump mapping support
Offset/parallax tangent bump mapping support
Cubemap filter for point light and bump mapping
Material system with ambient, diffuse, emissive, specular, and power support
Per-pixel and per-vertex precomputed radiance transfer (PRT) for meshes
Lightmap support for meshes and terrain
Particle Systems
Multiple emitters and attractors supported per particle system
Point sprite, billboard, and minimesh particles can be mixed in one particle system
Full keyframe support for particles and particle emitters
Spherical, box, and direction emitters supported
Direction filtering via cubemap for emitters
Internal shader instancing allowing up to 52 meshes to be rendered per batch
Full custom shader support for special effects
Minimeshes can be used as particles, allowing complex effects
Per item frustum culling and fading
Full floating point surface support, including 64bits and 128bits
Full custom pixel shader rendering via standard DirectX effect files
Read pixel data from your pixel shader results in real time
Based upon the Newton Game Dynamics physics engine
Direct integration for engine objects, including meshes, actors, terrain
Accurate collision detection and friction solver with configurable accuracy
Rigid body colliders support include box, sphere, cylinder, cone, and convex hull
Static body colliders support includes mesh and terrain
Combine multiple colliders into one rigid body
Full joint support with limits including ball, hinge, universal, up, and sliders
Motorized joints supported
Fully configurable vehicle system
Buoyancy for bodies based upon a water plane
Configurable auto freezing of bodies when they are idle
Ragdolls supported by direct actor bone manipulation
Built-in Special Effects and Controls
Gamma control, and fullscreen fading and flash effects
Glow and bloom with full emissive map support
Per object velocity-based motion blur (PS 2.0+)
Depth of field (PS 2.0+)
Full unicode support
Global stream system for data loading from file, file part, memory stream, or package
Included math library with all standard functions for vectors, matrices, and quaternions
Internal profiler with on screen output to help determine bottlenecks in rendering
Unified angle system for all internal functions allowing you to use degrees or radians
API Standards
Simple and easy to use OOP classes
Initialize the engine and begin rendering in less than 5 lines of code!
Multiple languages supported via our various libraries, all using the same C++ core
Static Library supported for C++ for one-file distribution, no dependent files required
Only present in 6.2 and 6.3 versions
Hardware acceleration support
3D positional audio
Multiple audio effects, including distortion, echo, reverb and more
Hardware acceleration support
Playback of any video format, providing the codec is available
Video playback to a TV3D texture is supported for rendering videos in TV3D Scenes
Only present in final 6.5 version
Patching Server
Lobby w/ Chat
Client/Server
Peer-to-Peer
UDP, TCP, and Mixed-Mode Support
Highly Optimized ASM Packet Controller
Reliable, Unreliable, and Broadcast Packets
Multiple Communications Channels with Priorities
Truevision3D began as a hobby project back in January 1999. Sylvain Dupont created a 3D engine in Visual Basic 6 with DirectX 7 & 8. With the later addition of Arli Mujkic and John Hart, Truevision3D, LLC. was formed to make TV3D a commercial product. Today, has grown into a global company, supporting thousands of clients and community users.