Loading...
Searching...
No Matches
CaptureAdjust.hpp File Reference

The corrections a capture node applies on its way out of the sensor. More...

Detailed Description

The corrections a capture node applies on its way out of the sensor.

A raw sensor frame is not a picture. Demosaicing turns a mosaic into RGB and stops there, deliberately, because everything after it is per-sensor: the pedestal the sensor sits at, the gains that make grey grey under this light, and the transfer curve that makes linear samples look right on a display. Those belong to the camera, not to the reconstruction, which is why they are a separate block rather than more constructor arguments on the decoder.

Defaults are the identity. A pipeline that sets nothing renders the raw demosaiced frame – including the linear transfer curve, which looks dark. Changing that default would silently restyle every existing project, so the correction is offered rather than imposed.

Published by a control callback on whatever thread wrote it, consumed by the render thread. A generation counter carries the handoff: the renderer reads one atomic per frame and only takes the lock when something actually moved, so dragging a slider never stalls rendering and rendering never stalls the UI.

Go to the source code of this file.

Classes

struct  score::gfx::CaptureAdjust
 Sensor-side corrections, in the order the shader applies them. More...
 
class  score::gfx::CaptureAdjustSlot
 Cross-thread handoff for CaptureAdjust. More...
 
struct  score::gfx::CaptureMaterialUBO
 The capture path's material block: the shared one, plus corrections. More...
 

Namespaces

namespace  score
 Base toolkit upon which the software is built.
 
namespace  score::gfx
 Graphics rendering pipeline for ossia score.
 

Functions

void score::gfx::applyTo (const CaptureAdjust &a, CaptureMaterialUBO &ubo) noexcept
 Fills the correction half of ubo. The geometry half is the caller's.
 
void score::gfx::adjustCaptureReference (const CaptureAdjust &a, float rgb[3]) noexcept
 The corrections, on the CPU, in the same order the shader applies them.