stalomeow/MarchEngine
A game engine based on Direct3D 12, C++17, and .NET 9 for learning purposes.
Thành tựu nổi bật
Những danh hiệu mới nhất của dự án
#1 Repository Của Tháng
#1 Repository Của Tháng
#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.
Easy to integrate memory allocation library for Direct3D 12
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.
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Graphics API wrapper is written in C++ on top of DirectX 12, Vulkan and Metal 4. Provides main features including ray tracing.
A Windows console tool that prints all the information about the GPU extracted using DXGI and Direct3D 12