T3D Engine was d T3Developed in early 1995 with the primary goal of creating a game similar to the most popular title at the time, DOOM. The first-generation engine was developed before DOOM became open source, and I successfully implemented equivalent technology. The engine utilized 2D BSP Tree technology for scene culling and sorting. Lighting was handled on a sector-based system, while characters were represented using 2D sprites. Visibility calculations were also sector-based, optimizing AI and rendering performance. The development platform was MS-DOS, using WATCOM C/C++, with a software renderer (partially utilizing x86 assembly). The target CPU was a 386, and the engine supported DOS4GW and VGA X-mode.
1998 T3D2
When I was still developing games with my first-generation engine, id Software's QUAKE was released in 1996, and its visuals were truly stunning at the time. This motivated me to start developing a second-generation engine (in parallel with first-gen game development). By mid-1998, I had successfully completed a 3D real-time software engine with technical specifications equivalent to QUAKE—without requiring a 3D graphics card. Additionally, I implemented OpenGL (miniGL) support for Voodoo 3D cards. At that time, QUAKE had not yet become open source, and the only comparable open-source engine available was Crystal Space. The engine supported DirectDraw (DDraw), OpenGL, and Direct3D 6/7, and was compatible with Windows 95 and 98. The minimum CPU requirement was a 486DX or Pentium 100MHz and above.
2000 T3D3
In 2000, I began developing the third-generation engine, with the primary goal of incorporating large outdoor environments and terrain. For character rendering, I implemented hardware-accelerated skinning. While the second-generation engine did support skin-bone animation, it lacked hardware acceleration, so the third-generation engine fully leveraged GPU-based skinning. The scene rendering was also fully optimized for hardware, and I introduced shader support, including DOT3 bump mapping. Additionally, I removed the software renderer, meaning software rendering was no longer supported. The engine supported OpenGL and Direct3D 8.
2004~2006 T3DFX(T3D4)
Key Features
- Radiosity normal mapping (similar to Half-Life 2 ) or Directional Lightmap (2005) & parallax mapping.
- Spherical Harmonics Lighting, CPCA compression (非d3dx function) (2005).
- Post-processing Shader Effects(HDR , bloom , Volumetric Light).
- Ocean Water (using FFT)
- water effect using multi-normal map.
- Real-Time Cloud Render.
- Ambient Aperture Lighting for Terrain (2006).
- normal mapping for dynamic lighting( Forward Render).
- Sky lighting (2006).
- Graphics API Support DirectX 9.
2008 T3DFX Evolution (T3D5)
Building upon the third-generation engine, this version introduces next-generation rendering technologies with expanded hardware support and advanced real-time graphics techniques.
Expanded API Support:
- DirectX 9, DirectX 10, and DirectX 11
Terrain & Texture Innovations:
- Virtual Mipmapping for Terrain Textures (Clipmap-based approach, similar to id Software's MegaTexture technology)
- Real-time DCT (Discrete Cosine Transform) decoding
- - DXT compression handled by an independent thread (DCT decoder & DXT compression on the fly)
Advanced Lighting & Shadows:
- Spherical Harmonics Lightmap in Local XZ Frame
- Parallel Split Shadow Map + Variance Shadow Map
- Light-PrePass (Deferred Lighting)
- Screen Space Ambient Occlusion (SSAO)
- Screen Space Directional Occlusion (SSDO)
- Volumetric Ambient Occlusion
Real-Time Geometry Processing:
- GPU-based Real-Time Tessellation
- Terrain LOD (Level of Detail)
- Catmull-Clark Subdivision Surface
Global Illumination & Radiosity:
- Real-time Global Illumination
- Direct & Indirect Lighting (Radiosity-based techniques)
- Using VPLs ( Virtual Point Lights ) for Indirect Lighting