RepositoryC++
stalomeow

stalomeow/MarchEngine

A game engine based on Direct3D 12, C++17, and .NET 9 for learning purposes.

73stars
10forks
0issues
0views

Thành tựu nổi bật

Những danh hiệu mới nhất của dự án

1
TINIX TRENDING·Chủ đề: dx12

#1 Repository Của Tháng

1
TINIX TRENDING·Chủ đề: directx12

#1 Repository Của Tháng

1
TINIX TRENDING·Chủ đề: direct3d12

#1 Repository Của Tháng

🎮 March Engine: Game engine D3D12 + C++17 + .NET 9 dành cho người học

Một dự án game engine dựa trên Direct3D 12, kết hợp C++17 và .NET 9, được thiết kế đặc biệt để học hỏi và nghiên cứu công nghệ engine và đồ họa.

March Engine là một game engine mã nguồn mở được phát triển bởi cộng đồng, dựng trên nền tảng Direct3D 12, sử dụng C++17 cho phần lõi và .NET 9 cùng C# 13 cho scripting. Dự án hiện đang tập trung hỗ trợ nền tảng Windows x64, nhằm cung cấp một môi trường thực hành để người dùng có thể học hỏi sâu về kiến trúc engine, quản lý bộ nhớ, pipeline đồ họa và hệ thống tài nguyên.

✨ Điểm nổi bật

  • Build Tool: Cấu hình dự án C++ và C# bằng Lua, tích hợp Premake đã được tùy chỉnh để hỗ trợ Source Generators, Solution Items và Runtime Dependencies.
  • Scripting: Sử dụng .NET 9 CoreCLR và C# 13 để thực hiện logic bằng cấp, kết hợp Source Generators để sinh binding tự động và cơ chế Marshal tùy chỉnh từ C++ templates.
  • Memory Manager: Hệ thống quản lý bộ nhớ hỗ trợ MemoryLabel, dùng TLS Stack Allocator cho bộ nhớ tạm và mimalloc cho các nhãn khác.
  • Asset Pipeline: Hệ thống quản lý tài nguyên tương tự Unity với AssetImporter và AssetDatabase, hỗ trợ hot reload thông qua FileSystemWatcher.
  • D3D12 Rendering: RHI giống Unity với quản lý Descriptor, View, PipelineState, RootSignature, cùng tối ưu state barrier, frustum culling, GPU instancing.
  • Shader System: Hỗ trợ ShaderLab bằng ANTLR4, multi_compile tạo biến thể shader, và hot reload shader ngay trong IDE.
  • Crash Handling: Tích hợp NVIDIA Nsight Aftermath SDK để bắt lỗi GPU, hỗ trợ breakpoint tự động khi gỡ lỗi CPU.
  • Render Graph: Hệ thống đồ thị kết xuất tự động quản lý vòng đời tài nguyên, hỗ trợ Async Compute và công cụ visualize giống Unity.

💡 Vì sao đáng chú ý

March Engine nổi bật bằng sự kết hợp hiếm thấy giữa D3D12, C++17 và .NET 9, tạo ra một môi trường học tập toàn diện từ low-level đến high-level. Với kiến trúc rõ ràng và các tính năng mạnh mẽ như render graph, shader hot reload hay hệ thống asset pipeline thông minh, dự án cung cấp cho người học cơ hội trải nghiệm thực tế với các công nghệ hàng đầu trong ngành đồ họa và engine phát triển trò chơi.


#Direct3D12 #GameEngine #C++17 #DotNet9 #Rendering #TiniX

Similar Projects

Discover other similar projects and AI models.

RepositoryC++
GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator

Easy to integrate memory allocation library for Direct3D 12

1.0k
Oct 11, 2026
RepositoryC#
MonoGame/MonoGame

One framework for creating powerful cross-platform games.

14.6k
Oct 23, 2026
RepositoryC
StarsX/XUSG

XUSG, XU's supreme graphics lib, is a handy wrapper currently for DirectX 12. It can be a good reference for designing your own DX12 wrapper APIs.

124
Oct 16, 2026
RepositoryC++
bkaradzic/bgfx

Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

17.6k
Oct 26, 2026
RepositoryC++
andrejnau/FlyCube

Graphics API wrapper is written in C++ on top of DirectX 12, Vulkan and Metal 4. Provides main features including ray tracing.

468
Dec 20, 2025
RepositoryC++
sawickiap/D3d12info

A Windows console tool that prints all the information about the GPU extracted using DXGI and Direct3D 12

136
Oct 1, 2026
RepositoryRust
kitao/pyxel

A retro game engine for Python

18.4k
Oct 23, 2026
RepositoryRust
FyroxEngine/Fyrox

3D and 2D game engine written in Rust

9.6k
Oct 24, 2026
RepositoryC++
godotengine/godot

Godot Engine – Multi-platform 2D and 3D game engine

119.0k
Oct 23, 2026