Based Engine

3D DirectX 11 engine w/ PhysX

C++DirectX 11PhysXImGuientt
Based Engine

Based Engine is a 3D DirectX 11 engine written in modern C++. It’s my playground for graphics programming.

It picks up where Lean Engine left off. After getting shadow maps working in OpenGL, I switched to DirectX 11 and rebuilt the renderer and engine from scratch, then integrated PhysX for physics. The long-term plan is to move to DirectX 12.

I wrote about the switch and what came after in the Based Logs series.

Features

  • DirectX 11 renderer with HLSL shaders, with resources managed through ComPtr
  • Blinn-Phong directional lighting
  • Cubemap skybox with static environment reflections
  • Scene rendered to a render target and shown in a docked ImGui viewport
  • Textured model loading with assimp
  • PhysX integration: static and dynamic rigid bodies, plus PhysX Visual Debugger support
  • Object picking with PhysX raycasts, and gizmos to drag physics objects around live
  • Entity component system built on entt
  • Editor UI: entity list, inspector, console, and ImGuizmo transform gizmos