Truevision3d
From Wikipedia, the free encyclopedia
This article does not cite any references or sources. (September 2007) Please help improve this article by adding citations to reliable sources. Unverifiable material may be challenged and removed. |
Truevision3D Engine | |
---|---|
Developed by | Truevision3D, LLC. |
Latest release | 6.3 / May 5, 2007 |
Preview release | 6.5 / September 2, 2007 |
OS | Microsoft Windows |
Genre | 3D Engine |
License | $150 USD for a single-title license, $500 USD for a multiple-title license |
Website | Truevision3D.com |
Truevision3D is a 3D commercial 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 Truevision 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).
[edit] Known Issues
Versions 6.2 and 6.3 have issues with unmanaged 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.
[edit] Features
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 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.
[edit] Languages Supported
- 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
[edit] 3D Engine
Features of SDK version 6.5 only
[edit] Rendering System
- 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
[edit] HLSL Shader Support
- 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
[edit] Landscape and Terrain System
- Highly optimized chunk-based terrain rendering
- Chunked LOD 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
[edit] Static Mesh Support
- 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
[edit] Animated Meshes (Actors)
- 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 Milkshape3D
- 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
[edit] 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 bumpmapping support
- Offset/parallax tangent bumpmapping support
- Cubemap filter for point light and bumpmapping
- 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
[edit] 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
[edit] Minimesh System
- 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
[edit] GPGPU (General Processing on GPU)
- 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
[edit] Integrated Newton Physics Engine
- 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
[edit] 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+)
[edit] Additional Features
- 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
[edit] 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
[edit] Media Engine
Only present in 6.2 and 6.3 versions
[edit] Audio Features
- Hardware acceleration support
- 3D positional audio
- Multiple audio effects, including distortion, echo, reverb and more
[edit] Video Features
- 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
[edit] Network Engine
Only present in final 6.5 version
[edit] Connection Support
- Patching Server
- Lobby w/ Chat
- Client/Server
- Peer-to-Peer
[edit] Networking Features
- UDP, TCP, and Mixed-Mode Support
- Highly Optimized ASM Packet Controller
- Reliable, Unreliable, and Broadcast Packets
- Multiple Communications Channels with Priorities
[edit] Projects Using TV3D
[edit] Eagle Lander 3D
Eagle Lander 3D is a simulation of the Apollo lunar landings and includes renditions of scenery, flight dynamics, and the lunar module. The game uses commands similar to those an actual astronaut would use, with features such as the control panel and the radio back to Earth. Visit Website
[edit] Maximum Football
Maximum-Football is a TV3D football game for the PC. The game features field, character, play, and team editors to customize gameplay. Like many other football games, one character (the character with the ball) is controlled and interacts with the rest of the team. Maximum-Football will be releasing another version of the game with TV3D 6.5 (currently in the making). Visit Website
[edit] SafeSim Truck Driving Simulator
SAFE Sim Truck Driving Simulator is a truck driving simulator. There are many modes of simulation (city streets, interstate highways, neighborhoods, etc.) The game is playable with an attachable steering wheel and pedals. View Website
[edit] PlanetX Map Editor
PlanetX Map Editor is a commercial scene development tool for TV3D 6.5 available from V16 Software. It supports the majority of TV3D's object types, and allows most object properties to be changed, as well as many other features, such as terrain painting or sculpting. Visit Website
[edit] phpChess for PC
phpChess brings chess to any website. phpChess for pc is the client software utilising TV3D 6.5 for the 3D display. phpChess has a full 2500+ rated chess engine powered by crafty. It also allows for peer-to-peer games, supports pgn & fen. phpChess for PC was written by Mithrandir and is a commercial product available from phpChess Ltd. Visit Website
[edit] Community
Truevision3D has a very active and helpful community. The community section of the website includes fourms, a wiki information section, online engine documentation, helpful articles, engine screenshots, a resource library, an online bugtracker, built in IRC chat (located at irc.voidzero.com #truevision3d and #tviug), and more.
[edit] About Truvision3D
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.