On May 24, 2012, at 6:44 PM, Marcus D. Leech wrote:
> Near as I can tell, the "persistence" feature is intended to give a kind of storage-scope effect, or high-persistence phosphor effect.
I achieved a similar effect in the ubertooth-specan-ui Python app, built on top of Qt's newer PySide Python library. Perhaps it'll be a useful reference for reimplementation in Qt without relying on OpenGL.
The general technique is to draw the graph into an off-screen image. During each frame update, black is drawn over the existing image, with a small alpha value, which effectively fades the prior image. The new graph is rendered over the top at alpha = 1.0, then the image is copied to the screen. It seems to perform quite well. I presume most video drivers can push the pixels-with-alpha BLTing into the hardware.
http://ubertooth.svn.sourceforge.net/viewvc/ubertooth/trunk/host/specan_ui/ubertooth-specan-ui?view=markup
The meat of this technique is in RenderArea._draw_graph(). I imagine the code would map directly to the C++ Qt API.
I hear the author of Kismet has done something similar in his software, but I don't know what graphics API he built it on.
- Jared
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
No comments:
Post a Comment