Skip to content

brandonchui/Jar

Repository files navigation


Jar (Just Another Renderer)

An experimental DirectX 12 renderer
About · Building · Dependencies · Similar Projects

Screenshot_6289

Warning

This project is highly experimental.

  • This project is mainly a learning exercise to explore graphics techniques and will probably have many bugs or unsupported features.

About

Jar is a DirectX 12 only renderer built as a personal playground for exploring computer graphics. Currently, it features a PBR pipeline, Slang shader compilation, and a minimal editor interface. The initial abstraction was inspired by the Microsoft MiniEngine. The goal of this project is to provide an easy to use tool for 3D model viewing.

This is a learning project and personal renderer, prioritizing experimentation over production readiness.

Requirements

  • Windows only
  • Visual Studio 2022
  • C++23
  • CMake 3.22+
  • Ninja
  • vcpkg for Windows-specific dependencies

Building

The project uses a PowerShell build.ps1 script that automatically downloads all dependencies (assuming vcpkg installed).

# Build and run
.\build.ps1 -run

.\build.ps1 -build

.\build.ps1 -build -release

.\build.ps1 -clean

.\build.ps1 -tests

Dependencies

Library Purpose
SDL3 Window management and input
Slang Shader compiler with reflection
D3D12MemoryAllocator GPU memory allocation
VectorMath SIMD-optimized math
spdlog Logging
nlohmann/json JSON parsing
Dear ImGui UI (docking branch)
GoogleTest Unit testing

vcpkg Dependencies

vcpkg install directxtk12:x64-windows
vcpkg install directxmesh:x64-windows

NuGet Dependencies

  • Microsoft.Direct3D.D3D12 (Agility SDK)
  • WinPixEventRuntime (PIX profiling support)

Project Status

These are the major features that have higher priority and will get more development time. This table will get updated as needed with more or less features.

Feature Status
Compute Shaders ⚠️
Slang Integration ⚠️
Bindless
Deferred rendering
Image based lighting
Cluster rendering

Note

Features marked ⚠️ are partially implemented or broken. Features marked ❌ are planned but not yet started.

Similar Projects

License

MIT License - See LICENSE file for details.

About

An experimental learning project renderer built with Direct3D 12.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •