Detailed Description
Video scopes computed on the GPU: waveform, parades, vectorscope, histogram, CIE 1931 chromaticity and Tektronix-style diamond.
Three compute passes per frame: the bins of the previous frame fade by the persistence, every sampled input pixel adds to the bins of the mode, and the bins are tone-mapped into the scope image, which is the texture output. The labelled graticule is drawn on the CPU and composited on the GPU. Of a 3D texture, an array or a cube map, the scope analyses what the Layout shows: one slice, layer or face, or all of them side by side.
The view shows that output through a preview of the outlet: being an output of the graph, the preview pulls the scope, which renders whenever it is shown, cabled further or not.
Namespaces | |
| namespace | geometry |
Classes | |
| struct | Layer |
| struct | Node |
| struct | ScopeMonitor |
Enumerations | |
| enum class | Mode { Waveform , RgbOverlay , RgbParade , YCbCrParade , Vectorscope , Histogram , CIE , Diamond } |
| enum class | Units { Percent , Code8 , Code10 , Millivolts , Nits } |
Functions | |
| void | drawGraticule (QPainter &p, const QRectF &r, Mode m, Units u, bool legal, Ui::Monitor::Color::Matrix matrix, Ui::Monitor::Color::Transfer transfer, bool targets75, double zoom) |
Variables | |
| constexpr std::string_view | mode_names [] |
| constexpr std::string_view | units_names [] {"%", "8-bit", "10-bit", "mV", "nits"} |
Function Documentation
◆ drawGraticule()
| void Ui::VideoScope::drawGraticule | ( | QPainter & | p, |
| const QRectF & | r, | ||
| Mode | m, | ||
| Units | u, | ||
| bool | legal, | ||
| Ui::Monitor::Color::Matrix | matrix, | ||
| Ui::Monitor::Color::Transfer | transfer, | ||
| bool | targets75, | ||
| double | zoom | ||
| ) |
The scope image with its graticule and labels, drawn at the view's resolution.
Variable Documentation
◆ mode_names
|
inlineconstexpr |