Skip to content

pilgrimage-games/3d-model-viewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3D Model Viewer

3D Model Viewer renders 3D models using a custom game engine developed by Pilgrimage Games. It serves as a basic demonstration of the 3D capabilities of the proprietary engine.

Demo

All code has been written from scratch in-house following "handmade" principles, with minimal use of external libraries and other dependencies. The only exception to this is Dear ImGui for the GUI. In lieu of even the C standard library, Pilgrimage Games maintains its own internal common library.

While 3D Model Viewer is open-source, the underlying game engine and its various graphics backends, as well as internal library and platform code, remain closed-source. See Releases to download and run the application.

Features

  • Physically-based rendering (PBR) with support for base color, metallic-roughness, normal, and emissive textures
  • Support for non-opaque materials (via translucency sorting)
  • Support for animation, including skeletal animation (via mesh skinning)
  • Custom renderers for all modern PC graphics APIs (Direct3D 11, Direct3D 12, and Vulkan)
  • Bindless rendering and custom texture cache (Direct3D 12/Vulkan)
  • Support for arbitrary display resolutions, refresh rates, and aspect ratios
  • Support for Steam Deck and other Linux-based devices via Proton
  • Arcball camera (camera is rotated on a sphere around the model)
  • Mouse/keyboard and gamepad controls for model selection, rotation, zoom, etc.
  • Immediate-mode GUI for displaying performance metrics, controls, etc.
  • Wireframe mode

Models

The included 3D models are processed from their original glTF 2.0 binary format (.glb) and packed into a single Pilgrimage Games Assets (.pga) file.

Attributions