– Giuseppe D’Angelo and Ivan Čukić
If you’re a C++ programmer, it probably won’t have escaped your attention that the C++20 standard has been released and is supported (in great part) by the most popular compilers like GCC, Clang, MSVC, and Apple Clang. We’re excited by this not only because we love C++ and because many of us at KDAB are language standards wonks, but because it provides some of the most revolutionary changes to the language since the ground-breaking C++11 release. C++20 provides C++ with even more power and expressiveness, and levels the playing field between this veteran workhorse language and newer upstarts.
With contributions from Matthias Kalle Dalheimer, Jon Kalb, Ivan Čukić and Jens Weller
We talked to a panel of C++ experts, evangelists, and devotees to understand more about C++, its current position, its history, and its future.
– Matthias Kalle Dalheimer
If your company produces physical products, you might think that your most important asset is the in-depth experience acquired in your field, your loyal customer base, or your top-notch manufacturing facilities.
However, over and over again, industry giants in many fields have been toppled by Silicon Valley start-ups and game-changing innovations. When a software-savvy competitor enters your market, they provide new benefits that win over your customers. That leaves you in a game of catch-up to regain market share and re-establish your brand. How can you avoid your company being upstaged by an upstart?
– Till Adam & Sven Knebel
Containerization is starting to appear in embedded, but it is definitely not yet commonplace. This white paper provides a general overview of containers in embedded from our own knowledge, research, and experience, as well as that from our partner Toradex, a hardware vendor who is also an expert in embedded containers. Hopefully it will help you answer if now is the right time to add this technology to your embedded tool chest.
– Kevin Funk
The build system for Qt 6 is moving to CMake. Should you use it yourself? What are the benefits of CMake, and how can it help transform your build system? Here are the basic facts you need to know to take advantage of CMake for building Qt applications.
– Till Adam
When building an embedded systems product, among your earliest decisions is the choice of hardware. More specifically, on what CPU should you base your design? Today’s system-on-chip processors have a huge array of resources to contribute to your solution: multiple cores and on-board DSPs, graphics engines and display controllers, peripheral support and connectivity interfaces, and more. Because a new hardware platform entails a costly investment it makes sense to consider your hardware selection wisely.
Whether you are considering an NXP i.MX 8, NXP i.MX 6, or another vendor’s silicon, there are many factors to take into account in order to make the right hardware choice. If you’d like some of our advice in narrowing down your silicon decisions, we’d be happy to help.
– Till Adam
One of the most difficult choices when starting any new software project is selecting the programming language and framework your team will use to create it. Should you stick with Qt because it’s the best tool for the job? Should you switch to something using web- based technology or designed explicitly for mobile? We can help you structure your decision-making process around the software options that might be the best fit for you and give you the necessary guidance to head in that direction.
– Christoph Sterz
Supervisory control and data acquisition (SCADA) systems have been around since the 1950s. Their rock-solid performance has been responsible for the streamlining of any industry that needs precise and consistent controls. However, now that everyone carries a superior UI in their pocket, the UIs of many SCADA devices look antiquated. Even the non-designers responsible for running the system expect their SCADA human-machine interface (HMIs) to have polish and sophistication. Having implemented attractive SCADA HMIs for our customers, we believe that Qt is the right tool to build the modern SCADA system.
– Paul Lemire
Learning to create 3D applications can be an overwhelming task even for seasoned developers because of all the new terminology, visual concepts, and advanced math. To simplify the job, many developers use a framework like Qt 3D.
Qt 3D Basics Part 2 Input and Animation
– Paul Lemire
The ability to create 3D applications is a skillset that is increasingly in demand as it plays a crucial role in advanced UX design, virtual reality, game development, and more. While developing a modern 3D program requires many disparate skills, there are frameworks that help the developer stitch it all together. Qt 3D is one that we recommend.
– Paul Lemire and Giuseppe D’Angelo
Many 3D graphic visuals can be handled with the same no-frills rendering techniques software developers learn during an intro 3D course. However, what if you want to incorporate one of many advanced rendering techniques – effects like shadows, refractive surfaces, water effects, HDR lighting, lens flares, or focus blurs?
– Kevin Funk
Code modernization is an essential part of the software development discipline. These days, the ISO standardization group is releasing a new version roughly every three years and the C++ language standard is evolving and improving faster than ever. To mitigate the cost and risk associated with code modernizations, tools for diagnosing and refactoring the usual programming patterns have become more and more popular. This whitepaper looks at a number of techniques used by automation tools to transform commonly used coding patterns.
This paper outlines everything you need to take into account when considering Qt as a new framework, so you can decide for yourself if this cross-platform tool is the right choice.
– Matthias Kalle Dalheimer
This in-depth whitepaper provides a detailed guide to help you effectively evaluate whether a migration makes sense for your current system, and to help you outline and execute your own.
– Volker Krause
The Qt Automotive Suite is a development toolkit for rapidly creating high-quality infotainment and instrument cluster software. It leverages the huge embedded developer community of Qt, the raw performance and intricate control of C++, and the powerful design tools of QML.
– Sean Harmer
The need for safety-critical systems with user-friendly interfaces is on the rise. To respond to this need, the Khronos Group (responsible for OpenGL, etc) has introduced OpenGL SC, a new standard that enables graphics in safety critical applications. This whitepaper reviews the basic differences in moving from OpenGL ES to OpenGL SC, to help you quickly determine what’s needed in skills and software to make the change.
– Sean Harmer
Physically based rendering (PBR) emulates the interaction between light and materials and is a trend in real-time 3D rendering and now integrated in Qt 3D. Here’s a ten-minute guide to its essentials.
– Sean Harmer
Vulkan is a powerful new 3D graphics API from the Khronos Group, the same consortium that developed its spiritual predecessor, OpenGL and other related standards. Like OpenGL, Vulkan targets high-performance real-time 3D graphics applications such as games and interactive media, but offers higher performance and lower CPU usage, much like Direct3D 12 and Metal. Read on for a quick-start primer on the nine things you need to know about this shiny new API.
Writing Code That Won’t Kill
A collection of reading material, white papers, and academic journals about functional safety
Kuesa™ 3D Studio
The Complete Design-to-code Workflow Solution for 3D Assets in Real-time Applications
KUESA 3D Studio is a workflow solution bridging the gap between designers and developers so they can focus on their strengths to produce WYSIWYG 3D assets that can easily be refined and iterated.
As the world continues its steady march towards ubiquitous computing, almost everything from airplanes to toasters is being powered by embedded software. In fact, technology is so pervasive, we take connected homes, advanced medical equipment, and self-driving cars almost for granted.
However, many of us who work in the industry have some misgivings about what this explosion in embedded software ultimately means. There are some very important issues that need to be openly discussed and solved before it’s too late.
With the onset of pervasive and powerful mobile devices there’s been an explosion of applications across every field. However, creating 3D applications requires specialized expertise with a different design mindset, new programming tools, complicated math, and a detailed understanding of the GPU pipeline and framework APIs. Regardless of whether your application is virtual surgery, CNC control, or geospatial mapping, your team may need expert training and consulting services to shorten the very long 3D learning curve. KDAB is ready to help with comprehensive experience in a wide range of 3D frameworks and tools.
We’ve all had it happen: days before release you discover the memory leak that crashes your product, the test that makes your graphics sluggish, or the use case that brings your hardware to its knees. At KDAB, hard problems are our specialty. We know how to use the most powerful debugging and profiling tools around – in many cases because we’ve created them or we maintain them. We’re happy to help your team slay bugs, speed bottlenecks, and thrift memory on mobile, desktop, and embedded platforms.
The software behind 3D interfaces isn’t easy to create. Much of that difficulty comes from the perennial disconnect between UX designers, 3D artists, and software developers. KDAB specifically created KUESA to eliminate this problem. KUESA makes for an easy, integrated workflow, bridging the gap between designers and developers. Designers can continue to use their preferred tools to create 3D assets while developers can use KUESA for previewing, conditioning, optimizing, manipulating, and displaying those assets with files directly from design tools.
New releases of the C++ language maintain incredibly strong backwards compatibility, making it easy to keep older C++ code working properly as standards march forward. C++11, C++14, and C++17 have transformed the C++ language making it as programmer-friendly as more recent languages but with many essential benefits that continue to make it the best choice for the most demanding software-engineering projects. Modernizing your C++ may be the best way to both improve your team’s efficiency as well as future-proof your software investment.
If your project already uses Qt 4, it should be simple to upgrade to Qt 5, right? Whilst Qt 5 was designed to minimize the pain of upgrading from earlier versions, there are still pitfalls that can turn it into a complex task. With strapped resources, limited budgets, and shifting priorities, the right moment to move off a legacy framework can easily be put off. At the same time, the pressure to migrate to a newer framework mounts week by week. KDAB can help you.
If your project relies on MFC, chances are you’re trapped by a framework on life support, unable to take advantage of productivity gains, new libraries, multi-display hardware, crossplatform support, mobile app development – the list goes on. Through porting many MFC projects to Qt, KDAB has accumulated a wealth of knowledge on how to migrate systems still under active development with minimal disruption. Let us help you.
Companies that still use the QNX Photon microGUI in their products — a deprecated and unsupported technology — are trapped using older hardware, unable to update libraries for latest bug fixes or security patches, and stuck on old versions of the QNX OS. KDAB is an expert in migrating Photon software to a modern UX framework based on Qt, and the only QNX-recommended supplier for this process.
This is a brochure of all our Trainings.
– Sean Harmer
An in-depth look at improving the visual quality and computational throughput of systems with OpenGL,
from Dr. Sean Harmer, KDAB expert and the maintainer of Qt 3D, writing for the USA’s premium magazine for embedded computing: RTC magazine.
Embedded’s Gone Cute (from 2015)
– Rafael Roquetto
In this article for RTC Magazine’s 2015 issue, KDAB’s Rafael Roquetto lays out how and why Qt is the way to go for modern user interfaces in the embedded world. The need for next-gen UIs has finally reached the embedded world. Owing to increasing demand, vendors have been looking for alternative technologies to enable modern user interfaces on their products, and have been finding Qt (pronounced ‘cute’) is the perfect fit.