magnum VS DirectXTK

Compare magnum vs DirectXTK and see what are their differences.

DirectXTK

The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++ (by microsoft)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
magnum DirectXTK
22 12
4,645 2,480
- 1.0%
9.7 7.6
17 days ago 13 days ago
C++ C++
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

magnum

Posts with mentions or reviews of magnum. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-09.
  • Want to a 3D game without a game engine but not having to deal with opengl stuff ?
    4 projects | /r/gamedev | 9 Dec 2022
    Magnum
  • Good graphics engines to visualize my physics framework?
    5 projects | /r/gamedev | 14 Nov 2022
    If you want something that gives you more control you could use magnum.
  • 100,000 subscriber celebration – Ask the Godot contributors anything!
    22 projects | /r/godot | 1 Nov 2022
    Therefore, in terms of artist mindshare, Blender is the leading open source 3D creation program, but not the leading 3D creation program. I think Godot is already in a similar situation, and has been for a few years now. In comparison, most other open source game engines have focused on providing low-level functionality. These certainly fulfill a niche, but in my experience, most people want something that works at a higher level and comes with a built-in editor.
  • Looking for a 2D/3D rendering layer for C++
    3 projects | /r/gamedev | 23 Aug 2022
    Magnum is worth checking out.
  • Simple light graphics library for c++?
    7 projects | /r/gamedev | 14 Aug 2022
    Since you want something lightweight, I'll assume you mean the former. If that's the case, then checkout bgfx or Magnum. Magnum does include some extra features typically found in a graphics engine.
  • Best C++ libraries for 2D game development
    2 projects | /r/cpp | 24 Jul 2022
    You could try Magnum it wraps SDL and others, but you might find it maybe too low-level. It's certainly not Love2D.
  • Exceptions: Yes or No?
    4 projects | /r/cpp | 4 Jul 2022
    C++ is similar to C in that there are multiple "styles" of use that vary from project to project. Other, usually newer languages (C#, Python, Rust, etc) tend to have a stronger sense of what idioms should be used. Whereas, for instance, some C++ projects (like some GUI libraries and game/graphics engines) will partially/entirely replace the STL (and older ones may have been around before C++ had a standard library aside from C's), or forbid the use of certain C++ features (example).
  • What is a good absolutely minimalist game/rendering engine?
    7 projects | /r/gamedev | 17 Jun 2022
    Magnum Graphics
  • C++ Game Engine - Which framework?
    1 project | /r/cpp | 6 May 2022
  • Magnum: Lightweight, modular C++11 graphics middleware for games/visualization
    6 projects | news.ycombinator.com | 23 Apr 2022
    > He has Vulkan support in here with a clearly marked file named Pipeline.cpp. The guy knows what a pipeline is...

    There is a Vulkan API wrapper. However, there is no "Vk Renderer" -- no code seems to use the Vulkan parts of the code system, and the two projects seem unrelated.

    > * Is this not a UBO interface?

    There are ways of making a uniform buffer, however the examples don't cover them and the API doesn't adapt automatically. See how all of the setters assert if UBOs are enabled.

    https://github.com/mosra/magnum/blob/cfc02599e54e02337dd56bb...

    > * I don't see why you think there's limited support for multiple framebuffers...?

    The code I do see is about binding/unbinding framebuffers in a stateful manner, e.g. AbstractFramebuffer::bind(), rather than supporting passes.

    > None of your criticism seem well intentioned. It might behoove you to give people the benefit of the doubt and realize that you may be able to learn something from them, even if they're so clearly inferior to you.

    To put it simply, I've taught enough graphics to know first-hand the kinds of misconceptions that OpenGL-styled APIs can cause, and I'm just a bit tired to see it continue. Admittedly I was a bit harsh, I don't mean any harm towards the author. There are just graphics APIs with interfaces I consider to be much better designed.

DirectXTK

Posts with mentions or reviews of DirectXTK. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-12.
  • I need help to make SSE Display Tweaks work.
    1 project | /r/skyrimmods | 9 Oct 2023
    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 "
  • Xenia: Xbox 360 Emulator
    4 projects | news.ycombinator.com | 12 Jul 2023
    XNA died when the people behind it left, thus the C++ side won once again, and DirectXTK was born as replacement.

    https://walbourn.github.io/directxtk/

    Years later they kind of sponsored Monogame, when they were recovering from XBox One mess,

    https://news.xbox.com/en-us/2016/03/14/letter-chris-charla-i...

    By the way, I think one of these episodes talks about the emulation, but I am not certain if it was on this podcast I heard about it.

    https://theretrohour.com/?s=xbox

  • Need help converting wav files to XWB without the wav file names being changed
    1 project | /r/Modding | 2 Jul 2023
    So for the past 8 hours, I've been trying to mod the music files for Bloons Monkey City. I converted some songs I wanted to use in BMC using audacity to wav and made sure to rename the files to the songs I wanted to replace. I used XWBtool to repackage the wav files into an XWB file, the file format BMC uses to store its music in. I used Foobar2000 to view the XMB file, and for whatever reason all the song names get changed to whatever the XWB file name is after repackaging them using XWBtool (I.e. The XWB's file name is whatever the first wav file XWBtool repackages. In my case, "WaveBank#1 (MCity_MvM)" is the first wav file that gets repackaged, so for whatever reason every other file also gets its names changed to "WaveBank#1 (MCity_MvM)," which is causing me a problem as BMC won't be able to read the other music files.).
  • Flight Mechanics
    1 project | /r/Starfield | 20 Jun 2023
  • Learning DirectX 12 in 2023
    13 projects | dev.to | 30 Jan 2023
    DirectXTK 12 (includes SimpleMath and other goodies)
  • Where can I learn directX
    1 project | /r/cpp_questions | 21 Dec 2022
    DirectXtutorial doesn't seem to have the greatest C++ code either. I would definitely use ComPtr.
  • Where to start learning OpenGL or DirectX11 Graphics Programming with C++?
    4 projects | /r/GraphicsProgramming | 9 Jun 2022
    DirectXTK (basically XNA ported to C++, after it was dropped)
  • Chrono Cross: The Radical Dreamers Edition - How to play with the new graphics BUT with the old fonts
    1 project | /r/JRPG | 10 Apr 2022
    Thank you for your reply, I make spritefont from this link https://github.com/microsoft/DirectXTK/wiki/SpriteFont but still cannot show the right font Maybe have to check parameter of old font
  • I'm having a hard time staying committed to learning C++ and OpenGL for game development.
    6 projects | /r/cpp | 31 Mar 2022
    Because you get stuff like DirectXTK and PIX from the company that does the API, while on Khronos stuff you need to go hunting for comunity or GPU vendor specific tooling.
  • How to handle multithreading in concept.
    2 projects | /r/gamedev | 27 Dec 2021
    then check up this https://github.com/microsoft/DirectXTK/wiki/Getting-Started

What are some alternatives?

When comparing magnum and DirectXTK you can also consider the following projects:

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

GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input

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

Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

OpenSceneGraph - OpenSceneGraph git repository

Open-Source Vulkan C++ API - Open-Source Vulkan C++ API

Irrlicht - An automatically updated mirror of the Irrlicht SVN repository on sourceforge

Cinder - Cinder is a community-developed, free and open source library for professional-quality creative coding in C++.

urho3d - Game engine

Atomic Game Engine - The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript