Giter Club home page Giter Club logo

directx12gameengine's Introduction

DirectX12GameEngine

DirectX12GameEngine is a game engine completely written in C# utilizing the Direct3D 12 API for rendering graphics. It supports UWP either rendered directly to the CoreWindow or embedded in XAML with a SwapChainPanel. It also supports Win32 with WinForms. Some stand-out features are a shader generator that generates HLSL shaders out of .NET code, holographic rendering for HoloLens and Windows Mixed Reality and an editor made with UWP XAML.

DirectX12GameEngine Editor

Engine Projects

  • DirectX12GameEngine.Assets: Assets classes for importing assets like textures, materials and models.
  • DirectX12GameEngine.Core.Assets: Content manager, serialization of assets.
  • DirectX12GameEngine.Core: Helper classes and extensions.
  • DirectX12GameEngine.Editor: A UWP XAML editor for this game engine to handle scene manipulation and changing properties of components.
  • DirectX12GameEngine.Engine: Main engine project with entity component system.
  • DirectX12GameEngine.Games: Game base class, dependency injection and window handling.
  • DirectX12GameEngine.Graphics: Direct3D 12 abstraction and Mixed Reality.
  • DirectX12GameEngine.Input: Input manager that handles every platform.
  • DirectX12GameEngine.Rendering: Everything rendering and material related including many classes to define your own custom materials and shaders.
  • DirectX12GameEngine.Shaders: A .NET to HLSL compiler and HLSL to DXIL shader bytecode compiler.

Sample Projects

  • DirectX12ComputeShaderSample: Shows how to write compute shaders in C#.
  • DirectX12Game: A simple sample scene containing some models and lights and a camera controller. This a library that gets referenced by the projects below where it is really executed.
  • DirectX12CoreWindowApp: Runs DirectX12Game in a UWP app rendering directly to the CoreWindow.
  • DirectX12XamlApp: Runs DirectX12Game in a UWP app rendering to a SwapChainPanel embedded in a XAML page.
  • DirectX12WinFormsApp: Runs DirectX12Game in a .NET Core 3.0 WinForms app rendering to the Win32 window (HWND).

Prerequisites

  • Visual Studio 2019 (with .NET Core preview enabled)
  • Windows 10 SDK, version 1903 (build 10.0.18362.0)
  • Latest .NET Core 3.0 SDK

Most projects are just using .NET Standard 2.0 or sometimes additionaly .NET Core 3.0 with the UWP SDK included through the NuGet package Microsoft.Windows.SDK.Contracts.

Supported Platforms

  • UWP, Windows 10 Fall Creators Update or higher (either CoreWindow or XAML)
  • WinForms (WPF also supported with XAML Islands)

Credits

directx12gameengine's People

Contributors

aminator avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.