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
3D functions to display measured values?
Re: 3D functions to display measured values?
Did it never work or only not with the PB v630 on Raspberry Pi ?sprites and screen gadgets don't work on the Raspberry Pi with PB v6.30.
Puzzle of Mystralia (C++)
Bug Planet, Waponez III, =QONK=, PetriDish, Movie2Image
<Wrapper>4PB, PB<game>, PictureManager,...
Bug Planet, Waponez III, =QONK=, PetriDish, Movie2Image
<Wrapper>4PB, PB<game>, PictureManager,...
Re: 3D functions to display measured values?
Sorry, that was written in a misleading way. The sprites and ScreenGadgets do not work together with InitEngine3D().
Peter
Peter
Re: 3D functions to display measured values?
I don't know what I'm looking at, and am not sure I understand the problem (but I trust there is one, lol). The ScreenGadget is very new and has glitches that need to be fixed, but I think it looks very great and is very usable. It's much more flexible than the CEGui implementation, too, imo.
Perhaps you have to draw on textures instead sprites to display them in the Screengadget GUI, or use images. My guess is that the screengadgets use sprites/images in 2D and textures (and perhaps images) in 3D for the images.
But I'm not sure I understand either problem, what the library glitches are and what you'd like to have.
Perhaps you have to draw on textures instead sprites to display them in the Screengadget GUI, or use images. My guess is that the screengadgets use sprites/images in 2D and textures (and perhaps images) in 3D for the images.
But I'm not sure I understand either problem, what the library glitches are and what you'd like to have.
Re: 3D functions to display measured values?
When you zoom out, a lot of detail is lost anyway. Precreate "LOD" versions of the linestrip mesh, use only every 2 , every 3 node to create them (precreation), and use those fever vertice meshes when camera is moving away (for rendering linestrips, hiding the ones that has more vertices.).
Also, be sure not to use higher dimension texture than screensize for quad, can be lesser/different, if it becomes standard power of 2 like 1024x512 or 2048x1024. (those dimensions are slightly faster than custom ones) Not sure if these are the causes, just tipping.
But iterating trough 16.7M nodes seems a lot when redrawing and displaying a mesh. (or doing anything on that scale at once)
miso
Also, be sure not to use higher dimension texture than screensize for quad, can be lesser/different, if it becomes standard power of 2 like 1024x512 or 2048x1024. (those dimensions are slightly faster than custom ones) Not sure if these are the causes, just tipping.
But iterating trough 16.7M nodes seems a lot when redrawing and displaying a mesh. (or doing anything on that scale at once)
miso

