3D functions to display measured values?
Posted: Thu Feb 26, 2026 5:12 pm
Does anyone use the 3D functions to display measured values, e.g., from an oscilloscope, multimeter, etc.?
I used the 3D engine for the first time and spent the last two weeks playing around with it on my Raspberry Pi 500.
I create the measured values as a LineStrip mesh and render them into a texture using an orthographic camera. A second orthographic camera displays this texture and other objects such as cursors, labels, etc. This means that the measured values do not have to be re-rendered when you only move the cursor. With eight measurement curves, each with 1 MSample, scaling and moving is absolutely smooth. I was able to load a maximum of ~16.7 MSamples per mesh. However, it then becomes slow when displaying all measured values, but as soon as you zoom in, it speeds up again. I can calculate absolute measured values from the cursor position, e.g., time and amplitude.
I don't know yet whether I can realize my ideas with it. Unfortunately, sprites and screen gadgets don't work on the Raspberry Pi with PB v6.30. Either I have to create controls as 3D objects, or I have to accept that the mouse pointer always has to be released first in order to operate another window or control, for example.
Here are two screenshots from my test:
https://dreisiebner.at/temp/pb-waveform-1.png
https://dreisiebner.at/temp/pb-waveform-2.png
Maybe someone has already done something similar and has a few ideas about it?
Peter
I used the 3D engine for the first time and spent the last two weeks playing around with it on my Raspberry Pi 500.
I create the measured values as a LineStrip mesh and render them into a texture using an orthographic camera. A second orthographic camera displays this texture and other objects such as cursors, labels, etc. This means that the measured values do not have to be re-rendered when you only move the cursor. With eight measurement curves, each with 1 MSample, scaling and moving is absolutely smooth. I was able to load a maximum of ~16.7 MSamples per mesh. However, it then becomes slow when displaying all measured values, but as soon as you zoom in, it speeds up again. I can calculate absolute measured values from the cursor position, e.g., time and amplitude.
I don't know yet whether I can realize my ideas with it. Unfortunately, sprites and screen gadgets don't work on the Raspberry Pi with PB v6.30. Either I have to create controls as 3D objects, or I have to accept that the mouse pointer always has to be released first in order to operate another window or control, for example.
Here are two screenshots from my test:
https://dreisiebner.at/temp/pb-waveform-1.png
https://dreisiebner.at/temp/pb-waveform-2.png
Maybe someone has already done something similar and has a few ideas about it?
Peter