Ogre


Vulkan integration between multiple libraries (e.g. Qt + OgreNext)

So I’ve been working into integrating Qt Quick (QML) and OgreNext when using the Vulkan RenderSystem for use in Gazebo. Note that I’m talking about Qt Quick. The ‘stable’ Qt Widgets interface (which uses QVulkanWindow) doesn’t have this problem because it’s too simple. There are various ways to perform an […]


The road to 16-bit floats GPU is paved with our blood

Ok that was a flashy clickbait-y title! What? You didn’t like it? I’m proud of that one! So I recently tried to implement 16-bit floats into our shaders. I knew it was untested. What I was not prepared is… how untested everything is! We use macros like #define midf min16float. […]


RenderDoc ‘Ref All Resources’ + Vulkan + Memory Aliasing = Beware

By default RenderDoc only downloads resources used by the frame being captured. Resources not used during that frame are not saved. Unless ‘Ref. All Resources’ is enabled, that is. I recently fixed a bug in Ogre where Ref. All Resources would randomly corrupt GPU memory after capture; both in my […]


Migrating repos from Mercurial to Git

Because Ogre uses Mercurial hosted on Bitbucket, and Mercurial is being removed, this guide is aimed to helping our users to migrate as painless as possible. Git differences We need to explain a few differences from hg to git. If you’re a git expert, you can skip this section. The first main difference is that hg treats the repo history as immutable. Only advanced operations (which must be explicitly enabled) can manipulate history. And doing […]


Vertex Formats Part 1: Compression

So, I tweeted What I just did: “Switch to SNORM16 for position and multiply the vertex by 64.0 when rendering the player’s cockpit for enough precision” – Me, right now: https://www.youtube.com/watch?v=Tnod9vtB4xA And that sparked waaay more attention than I thought. But it also made me realize lots of devs have incomplete […]


Frustum vs Pyramid intersection (also Frustum vs Frustum)

I couldn’t find much (helpful) info about this online, other than “just use SAT” in a sentence with no code or explanation. Maybe my Google-Fu failed me. But considering Emil Persson labelled this a hard problem, perhaps it isn’t only me (note: Hard here does not refer to Hard NP. […]