[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Persistence causes glAccum exception
From: |
Jared Boone |
Subject: |
Re: [Discuss-gnuradio] Persistence causes glAccum exception |
Date: |
Thu, 24 May 2012 19:45:52 -0700 |
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
Re: [Discuss-gnuradio] Persistence causes glAccum exception,
Jared Boone <=