Is OpenGL even the way to go for WPF desktop apps?

This page summarizes the projects mentioned and recommended in the original post on /r/opengl

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • imgui

    Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

  • A lot of people implement their GUI for graphical applications using OpenGL itself for rendering, using libraries such as Nuklear or Dear ImGui. Doing this means you can more easily style and hack your GUI, but it also might be somewhat slower and you won't get the native feel of WPF.

  • nuklear

    A single-header ANSI C immediate mode cross-platform GUI library (by Immediate-Mode-UI)

  • A lot of people implement their GUI for graphical applications using OpenGL itself for rendering, using libraries such as Nuklear or Dear ImGui. Doing this means you can more easily style and hack your GUI, but it also might be somewhat slower and you won't get the native feel of WPF.

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

    InfluxDB logo
  • OpenGL.Net

    Modern OpenGL bindings for C#.

  • Unfortunately Google just isn't bringing that much up for anything like GLAD for C#, just this .NET package and this old reddit thread which just says "OpenTK is all there really is".

  • glad

    Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.

  • Even in C++, you have to generate the right OpenGL headers for the GL version you want to use. I use GLAD, but sadly I don't see an option to use it for C# bindings. There isn't really any magic involved, though; OpenGL publishes machine-readable lists of C functions and symbols so just about any software can access the full power of OpenGL using those (assuming their video drivers are up to snuff). There is also a small bit of code needed to create the GL context but it's pretty simple.

  • GLWpfControl

    A fast native control for OpenTK 4.x + 3.x on WPF.

  • You can also embed OpenGL into WPF via GLWpfControl (https://github.com/opentk/GLWpfControl) and keep all your actual controls in WPF if you want...

  • LearnOpenGL

    Code repository of all OpenGL chapters from the book and its accompanying website https://learnopengl.com

  • I recommend https://learnopengl.com/ as well if you want to learn C++ graphics programming with OpenGL. If you already know all the graphics concepts in C# this should not be that hard.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts