2D Scene Graph GUI in Rust
Start time: 18:00 CEST
I am a 22-year-old South African who has recently completed his bachelor’s degree in electronic engineering and started working as a software engineer at KDAB.
I was particularly intrigued by the GPU-centric approach taken by Qt Quick 2, which is why I now want to play with the idea of building something similar in Rust.
Implementing high-performance GUIs on low-performance hardware requires the use of high-performance programming languages which has traditionally meant C++ or C. But, now that Rust has become a serious contender in other spaces where C/C++ traditionally dominates, using Rust for high-performance, GUI sounds like a logical next step. This is not possible yet, but there are plenty of projects out there trying to accomplish this. The thing is, most of these attempts appear to be taking an approach inspired by traditional GUI frameworks instead of the GPU-centric approach taken by Qt Quick 2 which is arguably the market leader for embedded GUI at the moment. This talk presents some details on the differences between these approaches and then goes on to discuss the challenges faced when trying to implement a proof of concept GUI of a system inspired by Qt Quick 2 in Rust using WebGPU for cross-platform GPU access.
- Why do we want a GUI framework in Rust
- What does Rust currently have to offer in this space
- How do traditional GUI frameworks work
- How do modern GUI frameworks work
- How is Qt Quick 2 more GPU-native than most others
- What are the advantages and disadvantages of the QQ2 approach
- How can WebGPU help to replicate the QQ2 approach in Rust
- A demonstration of a proof of concept implementation of this idea
- A discussion on the challenges faced/lessons learnt
- Some Rust tricks that I picked up
- Tools and resources
- Ideas for future work
Who it is for
Basic knowledge of Qt and Rust.
Certificate of attendance
A certificate of participation will be issued at the end of the sessionWatch on Youtube