Skip to main content

TF Engine project


TF Engine (TFE) is a real time 3D render application. Its main purpose is, well, watching your favorite model dancing. TFE is distributed as freeware. Model, motion and sound are not included.

Current supported asset: PMX model 2.0(.PMX), VMD motion (.vmd), wave sound (.wav), images (.png, .jpg, .jpeg, .bmp)

Project status:

  • Engine core: Powered by TFFramework.
  • Added model, motion, sound loader.
  • Added shader compiler support: HLSL shader model 5.
  • Added PhysX.
  • Added animation system.
  • Added UI.
  • Added Raytracing.
  • Model morph: vertex and uv.
  • Post-processing: FXAA.



Development history

  • 2022/11/17: Upgraded physics API to PhysX 5.
  • 2022/11/06: Added raytracing functionality. Enhanced GPU command queue synchronization.
  • 2022/08/01: Re-designed render pipeline and resource binding. Added material editor. Added Post Processing/FXAA.
  • 2022/05/28: Project and application name have been changed to TF Engine to avoid controversy. Added morph, IK controller UI. Support for adding many motions to one model.
  • 2022/05/14: Shader compiler and material manager were added. Application is available to download.
  • 2022/04: Engine core was updated. Added UI and asset loader. Asset (model, motion, sound…, etc.) can be loaded in real-time.
  • 2022/02: Shadow casting (known as shadow mapping technique) was added.
  • 2022/01: Added edge shader and some lighting calculations.
  • 2021/10: IK solving algorithm had been fixed.
  • 2021/09: Added animation controller and Inverse Kinematic (IK) solver.
  • 2021/07: Added rigid body joint and basic bone controller.
  • 2021/04: Added rigid body for physical calculation.
  • 2021/02: Added VMD loader.
  • 2021/01: Added NVIDIA PhysX 4.1
  • 2020/12: Added camera and Multisample anti-aliasing(MSAA).
  • 2020/11/29: Project information first published.
  • 2020/11: The support of DirectX 11 was dropped because it doubled my development time while DirectX 12 had all the features I need. Then I continued to work with DirectX 12.
  • 2020/08: I started making the framework for MMD2 with DirectX 11 and DirectX 12.
  • 2019/11: I came with the idea of making MikuMikuDance2(MMD2). I started learning C++ and Graphics programming with DirectX 11. At this time, I thought that MMD2 would support both DirectX 11 and DirectX 12.