C++ DirectX

Open-source C++ projects categorized as DirectX

Top 23 C++ DirectX Projects

  • bgfx

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

    Project mention: WebKit Switching to Skia for 2D Graphics Rendering | news.ycombinator.com | 2024-02-20
  • renderdoc

    RenderDoc is a stand-alone graphics debugging tool.

    Project mention: Building the DirectX shader compiler better than Microsoft? | news.ycombinator.com | 2024-02-10
  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • The-Forge

    The Forge Cross-Platform Rendering Framework PC Windows, Steamdeck (native), Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2

    Project mention: WebKit Switching to Skia for 2D Graphics Rendering | news.ycombinator.com | 2024-02-20
  • Ogre 3D

    scene-oriented, flexible 3D engine (C++, Python, C#, Java)

    Project mention: Not only Unity... | /r/opensourcegames | 2023-11-11

    OGRE (MIT/C++) https://github.com/OGRECave/ogre

  • xray-16

    Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. Join OpenXRay! ;)

    Project mention: Not only Unity... | /r/opensourcegames | 2023-11-11
  • DirectXTK

    The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++

    Project mention: I need help to make SSE Display Tweaks work. | /r/skyrimmods | 2023-10-09

    LoadScreenAllow= LoadScreenBlock=All Note: In cases where only loadscreens with conditions are allowed, it is possible that none will show even if no others are available. LoadScreenFilter=false LoadScreenAllow= LoadScreenBlock=All Remove all lens flare from weather records. This is done in-memory and is not persistent. DisableWeatherLensFlare=false Disable actor fade when camera intersects the body. DisableActorFade=false Disable player fade when camera intersects the body. DisablePlayerFade=false [OSD] Enable the on-screen display. Enable=false InitiallyOn=true Comma separated list of displayed stats. fps - Framerate bare_fps - Just the framerate, no formatting frametime - Frametime bare_frametime - Just the frametime, no formatting counter - Frame counter vram - Video ram usage (used / budget) * all - Everything * Note that this line does not show total amount of memory available but rather the OS allocated budget which can vary based on how much is consumed by other applications. If usage exceeds the budget, you'll likely experience stuttering. Requires DXGI 1.4. Stats related to specific drivers are configured in their respective sections. Show=fps,vram How often the OSD updates (in seconds). UpdateInterval=0.3 Keys used used to toggle the OSD. ComboKey uses built-in constants, ToggleKey is a DX scan code (https://www.creationkit.com/index.php?title=Input\_Script) ComboKey: 1 - Left Shift 2 - Right Shift 3 - Left Control 4 - Right Control 5 - Left Alt 6 - Right Alt 7 - Left Win 8 - Right Win ComboKey=1 and ToggleKey=0xD2 is Left Shift + Insert ComboKey=1 ToggleKey=0xD2 Align the OSD. 1 - Top Left 2 - Top Right 3 - Bottom Left 4 - Bottom Right Align=1 OSD position offset (X Y). Offset=4 4 Font scale (X Y) Omit Y for uniform scaling Scale=1.0 0.9 Adjust font scale based on amount of lines drawn. AutoScale=true Scale font size based on window size. Size remains constant when resolution to window size ratio != 1, for example when playing at non-native resolutions. ScaleToWindow=true Set a custom font. You can generate bitmaps from fonts installed on your system with MakeSpriteFont. https://github.com/microsoft/DirectXTK/wiki/MakeSpriteFont Run the tool with /NoPremultiply and place files in Data\SKSE\Plugins\SDTFonts FontFile= Font and outline color (RGBA). Color=255 255 255 255 OutlineColor=0 0 0 255 Outline offset. OutlineOffset=1 "

  • LLGL

    Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal

    Project mention: Looking to create a engine (for fun) and am willing to rethink my stack from scratch. Should I go with Rust/wgpu/web-based UI, or C++/Vulkan/Qt, or even some other stack? | /r/GraphicsProgramming | 2023-06-05

    LLGL Looks like a good alternative to BGFX, I haven't tried it though.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • DirectXTex

    DirectXTex texture processing library

  • DirectXMath

    DirectXMath is an all inline SIMD C++ linear algebra library for use in games and graphics apps

    Project mention: Vector math library benchmarks (C++) | /r/GraphicsProgramming | 2023-04-15

    For those unfamiliar, like I was, DXM is DirectXMath.

  • DirectXTK12

    The DirectX Tool Kit (aka DirectXTK12) is a collection of helper classes for writing DirectX 12 code in C++

  • Effekseer

    Project mention: How does webgpu planning to use webgl shaders? | /r/webgpu | 2023-08-09

    since many vfx or particles are made from GLSL. for eg: https://github.com/effekseer/Effekseer how do we port it into webgpu in the future? will that be automatically work on webgpu too? or people need re-create all of those in WGSL?

  • Bonzomatic

    Live shader coding tool and Shader Showdown workhorse (by Gargaj)

  • d912pxy

    DirectX9 to DirectX12 API proxy for Guild Wars 2

    Project mention: Day 1 for me and I'm completely lost | /r/Guildwars2 | 2023-08-23

    I'm surprised nobody covered p.2. JUST USE d912pxy. Period. The game is unplayable without it. BTW running it on Linux has the same effect as it translates DirectX calls to Vulkan calls and precompiles shaders. As much as I appreciate and respect ArenaNet will to fix performance introducing Dx11 hardly improved anything. There is still long way to go.

  • HyperHDR

    Highly optimized open source ambient lighting implementation based on modern digital video and audio stream analysis for Windows, macOS and Linux (x86 and Raspberry Pi / ARM).

    Project mention: TV ambiance? | /r/smarthome | 2023-06-30

    You can DIY your own with a IC-based RGB/RGBW strip and a rPi or x86 PC + ESP microcontroller using software like Hyperion or HyperHDR, combined with WLED.

  • storm-engine

    Game engine behind Sea Dogs, Pirates of the Caribbean and Age of Pirates games.

  • ShaderGlass

    Overlay for running GPU shaders on top of Windows desktop

    Project mention: Tutorial for ShaderGlass | /r/ReShade | 2023-07-30
  • goverlay

    DirectX hook and game overlay solution for Electron, Qt and CEF, just like discord/steam game overlay,inject any app to overlay in your game (by hiitiger)

  • D3D12MemoryAllocator

    Easy to integrate memory allocation library for Direct3D 12

  • DirectStorage

    DirectStorage for Windows is an API that allows game developers to unlock the full potential of high speed NVMe drives for loading game assets.

    Project mention: Game Ready & Studio Driver 535.98 FAQ/Discussion | /r/nvidia | 2023-05-30

    I don't think the GPU decompression optimizations is in this driver. I updated and using the Bulk Loader Demo test I'm actually seeing lower throughput than before. I used to hit around 24-25GB a sec, now I'm only hitting like 21GB a sec. Although it's possible but I doubt it, it could be related to the Windows 11 March update reducing SSD bandwidth. I haven't run the test in months so it might be related.

  • harfang3d

    HARFANG 3D source code public repository

    Project mention: 3D Engine in Python: New update on Harfang 3D | /r/Python | 2023-08-23

    👉 Last release - Github

  • d8vk

    Direct3D 8 to Vulkan translation for DXVK!

    Project mention: Install D8VK to Lutris prefix, how? | /r/Lutris | 2023-06-02

    You can find more information about D8VK and its installation here: [D8VK GitHub Repository](https://github.com/AlpyneDreams/d8vk)


    Cross-platform streamproof ESP hack for Counter-Strike: Global Offensive, written in modern C++. Rendering and GUI powered by Dear ImGui + FreeType.

  • GPU-Reshape

    GPU Reshape (GRS) is an API agnostic instrumentation framework, with instruction level validation.

    Project mention: GPU Reshape – shader instrumentation for everyone | news.ycombinator.com | 2024-01-21

    The tool is opensource - looks like it’s published under an MIT license.

    If Linux support matters to you, maybe you can get involved or fork the project. It supports a remote debugging protocol - so as a first pass you might be able to add Linux support without needing to port the UI.

    I agree with you - I wish more tools like this supported Linux. But I also really respect the original author’s effort here. Making a project like this is a lot of work already. They’re under no obligation to support Linux if they don’t use Linux themselves. Letting the community step in to add Linux support is, in my opinion, opensource done right.


  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-02-20.

C++ DirectX related posts


What are some of the best open-source DirectX projects in C++? This list will help you:

Project Stars
1 bgfx 14,251
2 renderdoc 8,365
3 The-Forge 4,407
4 Ogre 3D 3,706
5 xray-16 2,831
6 DirectXTK 2,480
7 LLGL 1,876
8 DirectXTex 1,699
9 DirectXMath 1,482
10 DirectXTK12 1,391
11 Effekseer 1,364
12 Bonzomatic 1,314
13 d912pxy 1,008
14 HyperHDR 863
15 storm-engine 824
16 ShaderGlass 805
17 goverlay 728
18 D3D12MemoryAllocator 681
19 DirectStorage 639
20 harfang3d 464
21 d8vk 457
22 GOESP 431
23 GPU-Reshape 312
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives