GithubHelp home page GithubHelp logo

dx12engine's Introduction

DX12Engine

Image of Engine

For this project I am working on a DirectX 12 rendering engine using D3D12 and Windows32 API, along with the HLSL shader language.

I am acting as the sole programmer of the project. I have implemented real-time graphics features such as a lighting system, physically based rendering, area lights using Linearly transformed cosines (bottom right image), particle system, and subsurface scattering using using spherical gaussians (bottom left image). The engine can also render thousands of lights in real time using a tile based forward renderer (top right image).

On the API side, I have created wrappers for many of DX12's low level implementations, such as wrappers for descriptor heaps, resources, and buffers, which make it more managable to work with DX12's low level of abstraction. I have also implemented a ring buffer descriptor heap, that holds all the resources needed to render the current frame, which allows for easy CPU-GPU synchronization.

I am currently working on integrating the DirectX Raytracing API, which takes advantage of modern GPU architecures' hardware accelerated raytracing capabilities, My raytracer currently supports the GGX material model, and is also capable of both direct and indirect lighting (top left image). I am currently working on adding more raytraced features like, multi-bounce global illumination and refractions, as well adding spatio temoral filter do denoise my results, with a goal to create a hybrid raster/raytracing rendering engine for real-time graphics. I am also working on working on porting features from my DX11 engine such as, ocean simulation, and post processing effects.

dx12engine's People

Contributors

gamehacker1999 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.