About
  • 2026-03-25
    themixedupstuff

    Enum Matching vs. Type Matching: Benchmarked

    In this post we explore the different approaches to process events from a mailbox with a more traditional enum based approach as well as a newer type matching method, with benchmarks included!
  • 2026-02-17
    noggin_bops

    The OpenTK matrix guide

    The ultimate guide to matrix majorness and multiplication conventions, and how to use matrices in OpenTK.
  • 2026-02-05
    noggin_bops

    Why NativeWindow can't be finalized

    In this post we will look at why NativeWindow can’t be finalized.
  • 2025-12-28
    noggin_bops

    Why does GLFWProvider.CheckForMainThread exist?

    In this post we will look at GLFWProvider.CheckForMainThread and figure out why it exists and what you could use it for.
  • 2025-12-20
    noggin_bops

    Dealing with exceptions in callbacks

    In the last post we left off saying that OpenTK does deal with re-throwing exceptions to some degree. In this post we will explore what this means.
  • 2025-12-17
    noggin_bops

    Exceptions and P/Invoke

    In the last post we discussed the GLFW error callback and I alluded to a more complicated reason to add your own error callback. And that reason is how P/Invoke deals with exceptions.
  • 2025-12-16
    noggin_bops

    The GLFW error callback

    As promised, in this post I’ll be talking about the GLFW error callback and why you might want to set your own.
  • 2025-12-15
    noggin_bops

    What is OPENTK4_USE_WAYLAND and what does it do?

    For the first post on this blog I want to explore the obscure OPENTK4_USE_WAYLAND environment variable and how it interacts with OpenTK.

A blog about using OpenTK and hopefully mildly interesting development notes from the development of OpenTK.