Blog Archives
FMA Woes
Floating-point math is hard, and compilers will exploit every language loophole to make our FP calculations go faster, sometimes with surprising results.
Efficient Custom Shapes in QtQuick : Shaders
A long time ago, I wrote a post about creating custom shapes in Qt Quick, via the scene-graph APIs. That post covered defining suitable geometry to draw a part of a circle, known also as a ‘sector’, efficiently, since such sectors occur commonly in instrument and vehicle interfaces. I started writing the second part, about […]
Qt 3D Renderer changes and improvements in Qt 6
With Qt 6 well on its way, it’s about time we go over some of the internal changes and optimizations made to Qt 3D for the upcoming release. In a separate article, my colleague Mike Krus has already highlighted the API changes we’ve made in Qt 3D for Qt 6. This post will dive into […]
Writing a Custom Qt 3D Aspect – part 2 Setting up the backend and communications
Introduction In the previous article we gave an overview of the process for creating a custom aspect and showed how to create (most of) the front end functionality. In this article we shall continue building our custom aspect by implementing the corresponding backend types, registering the types and setting up communication from the frontend to […]
Writing a Custom Qt 3D Aspect – part 1 Extending Qt 3D via Aspects
Introduction Qt 3D has a flexible and extensible architecture that allows us to easily add our own new functionality to it without disrupting the existing features. The functionality of Qt 3D is divided among so-called aspects, each of which encapsulates a particular subject domain such as rendering, input, or animation. This short series of articles […]
Qt 3D Animation Easter Teaser Using Blender and Qt 3D in Qt 5.9 to create, texture, and animate a model
As an Easter treat here is a quick taster of some of the animation goodies coming to Qt 3D along with Qt 5.9. In this post we will briefly outline the steps needed to create a simple Qt 3D application and the assets it uses to produce this little animation:
Safety critical drawing with OpenGL SC The main sticking points when migrating OpenGL ES software to functionally safe OpenGL SC
Bringing software into a safety critical environment can be tricky, especially when using the complex APIs needed for modern 3D graphics. That’s what makes OpenGL SC (Safety Critical) so important: it bridges the gap between beautiful displays and functional safety, while trying to remain as close to existing embedded standards that we all know and love. OpenGL SC will only […]
Modern OpenGL:
Advanced Pipeline and Performance
Introduction Advanced Rendering and Effects Advanced Pipeline and Performance This training explores strategies to increase the performance of new and existing OpenGL code, with multi-pass rendering and use of uniform buffers, shader storage buffers and indirect drawing to reduce driver overhead. Course Contents Cost of state changes, batching and sorting Culling, occlusion queries, spatial data-structures […]
Modern OpenGL:
Advanced Rendering and Effects
Introduction Advanced Rendering and Effects Advanced Pipeline and Performance This training explores the implementation of many different rendering techniques to achieve cutting-edge visuals in OpenGL applications. Techniques are explored in depth with many examples, analysis of shader code and implementation details. Course contents Normal mapping and parallax mapping Environment mapping Procedural texturing High dynamic range […]