T3Dfx


3D&AI Technology


  • Bio

bio.





1995 T3D1

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


  1. Radiosity normal mapping (similar to Half-Life 2 ) or Directional Lightmap (2005) & parallax mapping.
  2. Spherical Harmonics Lighting, CPCA compression (非d3dx function) (2005).
  3. Post-processing Shader Effects(HDR , bloom , Volumetric Light).
  4. Ocean Water (using FFT)
  5. water effect using multi-normal map.
  6. Real-Time Cloud Render.
  7. Ambient Aperture Lighting for Terrain (2006).
  8. normal mapping for dynamic lighting( Forward Render).
  9. Sky lighting (2006).
  10. 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
  1. Terrain LOD (Level of Detail)
  2. Catmull-Clark Subdivision Surface

Global Illumination & Radiosity:

  • Real-time Global Illumination
  1. Direct & Indirect Lighting (Radiosity-based techniques)
  2. Using VPLs ( Virtual Point Lights ) for Indirect Lighting