Giter Site home page Giter Site logo

starsx / xusg Goto Github PK

View Code? Open in Web Editor NEW
113.0 3.0 9.0 10.2 MB

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.

License: MIT License

C++ 43.17% C 54.11% HLSL 2.70% Batchfile 0.02%
dxr-fallback-layer dxr wrapper graphics-api directx-12 directx12 d3d12 dx12

xusg's Introduction

XUSG

XUSG, XU's supreme graphics lib, is a handy wrapper currently for DirectX 12. XUSG includes the following modules:

  • XUSG core (XUSGCore), the wrapper of the core functions in graphics API (currently DirectX 12).
  • XUSG ray-tracing (XUSGRayTracing), the wrapper of the ray-tracing functions in graphics API, including the ray-tracing pipleine functions through DXR fallback layer, which supports both native DXR and compute emulation. The hardware requirement of DXR fallback layer is backward-compatible to Tier 2 (official Microsoft DXR fallback layer needs Tier 3).
  • XUSG core with ultimate extensions, the wrapper of the extension functions in graphics API (currently DirectX 12 Ultimate).
  • XUSG-EZ, DirectX 11-style wrapper of XUSG core. It exposes pipeline state machine, auto implicit barrier settings, and auto implicit descriptor table compositions.
  • XUSGRayTracing-EZ, DirectX 11-style wrapper of XUSGRayTracing. It exposes pipeline state machine, auto implicit barrier settings, auto implicit descriptor table compositions, simplified acceleration-structure building with implicit scratch-buffer allocations, and implicit shader-table creations. What's more, it supports both native and DXR-fallback path of ray tracing.
  • XUSG machine learning, the wrapper of the machine learning functions, currently based on DirectML (DML).

Samples

Using XUSGCore only:

https://github.com/StarsX/VolumeRender

https://github.com/StarsX/MIPGen

https://github.com/StarsX/IrradianceMap

https://github.com/StarsX/VoxelizerX12

https://github.com/StarsX/ComputeRaster

https://github.com/StarsX/ParticleEmitter

Using XUSGCore and partially open-source XUSGAdvanced:

https://github.com/StarsX/Character12

Using XUSGCore with ultimate extensions (mesh shader related):

https://github.com/StarsX/MeshShader

https://github.com/StarsX/MSFallback

Using XUSGRayTracing (supporting Tier 2 hardware with DXR fallback layer):

https://github.com/StarsX/RayTracedGGX

https://github.com/StarsX/MultiVolumes

Using XUSGRayTracing (native DXR path only):

https://github.com/StarsX/SparseVolumeDXR (DXR fallback layer has a bug on IgnoreHit() to implement the algorithm, but the partial demo can run without DXR.)

Using XUSG-EZ:

https://github.com/StarsX/FluidX12

https://github.com/StarsX/NonuniformBlur

https://github.com/StarsX/SHIrradianceEZ

Using XUSGRayTracing-EZ:

https://github.com/StarsX/DXRVoxelizer (supporting Tier 2 hardware with DXR fallback layer)

https://github.com/StarsX/RayTracedSPH

Using XUSGMachineLearning:

https://github.com/StarsX/SuperResolution (reproducing DML SuperResolution sample)

Interops:

https://github.com/StarsX/OclDX12Interop

https://github.com/StarsX/Amp12Interop

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.