Snapshot of every node-side value a UBO profile's fill() may read for a single frame.
More...
#include <phosphor-shaders/include/PhosphorShaders/IUboProfile.h>
|
| float | time = 0.0f |
| | Wrapped low part of elapsed seconds (m_time - m_timeHi).
|
| |
| float | timeHi = 0.0f |
| | Wrap-offset high part.
|
| |
| float | timeDelta = 0.0f |
| |
| int | frame = 0 |
| |
| bool | bufferFeedback = false |
| |
| bool | bufferFeedbackCleared = false |
| |
| float | width = 0.0f |
| |
| float | height = 0.0f |
| |
| float | mouseX = 0.0f |
| |
| float | mouseY = 0.0f |
| |
| bool | isReversed = false |
| |
| bool | didFullUploadOnce = false |
| | Whether the first full upload has happened.
|
| |
| bool | sceneDataDirty = false |
| |
| float | customParams [8][4] = {} |
| |
| float | customColors [16][4] = {} |
| |
| float | channelResolution [4][2] = {} |
| | iChannelResolution[i].xy — multipass buffer-channel output sizes.
|
| |
| float | textureResolution [4][2] = {} |
| | iTextureResolution[i].xy — user-texture slot sizes.
|
| |
| int | audioSpectrumSize = 0 |
| |
| bool | yUpInNDC = false |
| | True when this draw should carry the NDC Y-flip: a Y-up-in-NDC backend (OpenGL, rhi->isYUpInNDC()) AND rendering direct to the window — the producer (ShaderNodeRhi::syncBaseUniforms) clears it when the item is captured into a texture render target (a ShaderEffectSource layer), where a flipped write would invert what the consumer samples.
|
| |
| float | qtOpacity = 1.0f |
| | Per-surface opacity from the Qt scene graph.
|
| |
| float | surfaceScale = 1.0f |
| | Logical→device pixel scale for the decorated surface.
|
| |
| float | surfaceFocused = 0.0f |
| | 1.0 when the surface is focused, 0.0 otherwise.
|
| |
| float | hasBackdrop = 0.0f |
| | 1.0 when a backdrop texture (the scene / wallpaper BEHIND the surface) is actually bound for this draw, 0.0 otherwise.
|
| |
| float | surfaceSize [2] = {} |
| | Decorated surface size in device px.
|
| |
| float | surfaceFrameTopLeft [2] = {} |
| | Frame top-left in device px.
|
| |
| float | surfaceFrameSize [2] = {} |
| | Frame size in device px.
|
| |
| float | backdropRect [4] = {0.0f, 0.0f, 1.0f, 1.0f} |
| | The slice of the bound backdrop this surface samples, in normalized texture coords (xy = min, zw = size).
|
| |
Snapshot of every node-side value a UBO profile's fill() may read for a single frame.
The render node populates this from its members during the sync phase and hands it to fill() — keeping all node→UBO data flow on one explicit seam. A given profile reads only the subset it needs: BaseUniformProfile ignores the surface-only fields; a SurfaceUniformProfile ignores the overlay-only ones.
◆ audioSpectrumSize
| int PhosphorShaders::UboFrameState::audioSpectrumSize = 0 |
◆ backdropRect
| float PhosphorShaders::UboFrameState::backdropRect[4] = {0.0f, 0.0f, 1.0f, 1.0f} |
The slice of the bound backdrop this surface samples, in normalized texture coords (xy = min, zw = size).
Defaults to the whole texture, which is right for the compositor (its capture already covers this window's canvas) and is the degraded answer for a host that knows of no placement. A daemon or preview host hands every surface the SAME desktop wallpaper, so it narrows this to the part lying behind each one.
◆ bufferFeedback
| bool PhosphorShaders::UboFrameState::bufferFeedback = false |
◆ bufferFeedbackCleared
| bool PhosphorShaders::UboFrameState::bufferFeedbackCleared = false |
◆ channelResolution
| float PhosphorShaders::UboFrameState::channelResolution[4][2] = {} |
iChannelResolution[i].xy — multipass buffer-channel output sizes.
◆ customColors
| float PhosphorShaders::UboFrameState::customColors[16][4] = {} |
◆ customParams
| float PhosphorShaders::UboFrameState::customParams[8][4] = {} |
◆ didFullUploadOnce
| bool PhosphorShaders::UboFrameState::didFullUploadOnce = false |
Whether the first full upload has happened.
The profile uses this (with sceneDataDirty) to gate the 1 Hz iDate wall-clock refresh.
◆ frame
| int PhosphorShaders::UboFrameState::frame = 0 |
◆ hasBackdrop
| float PhosphorShaders::UboFrameState::hasBackdrop = 0.0f |
1.0 when a backdrop texture (the scene / wallpaper BEHIND the surface) is actually bound for this draw, 0.0 otherwise.
Feeds the surface UBO's uHasBackdrop gate, which a needsBackdrop pack branches on to choose between sampling the backdrop and its own fallback appearance.
Derived by the node from whether the binding is live rather than set by a host: the gate and the sampler must never disagree, or a pack samples a texture that was never bound.
◆ height
| float PhosphorShaders::UboFrameState::height = 0.0f |
◆ isReversed
| bool PhosphorShaders::UboFrameState::isReversed = false |
◆ mouseX
| float PhosphorShaders::UboFrameState::mouseX = 0.0f |
◆ mouseY
| float PhosphorShaders::UboFrameState::mouseY = 0.0f |
◆ qtOpacity
| float PhosphorShaders::UboFrameState::qtOpacity = 1.0f |
Per-surface opacity from the Qt scene graph.
◆ sceneDataDirty
| bool PhosphorShaders::UboFrameState::sceneDataDirty = false |
◆ surfaceFocused
| float PhosphorShaders::UboFrameState::surfaceFocused = 0.0f |
1.0 when the surface is focused, 0.0 otherwise.
◆ surfaceFrameSize
| float PhosphorShaders::UboFrameState::surfaceFrameSize[2] = {} |
◆ surfaceFrameTopLeft
| float PhosphorShaders::UboFrameState::surfaceFrameTopLeft[2] = {} |
Frame top-left in device px.
◆ surfaceScale
| float PhosphorShaders::UboFrameState::surfaceScale = 1.0f |
Logical→device pixel scale for the decorated surface.
◆ surfaceSize
| float PhosphorShaders::UboFrameState::surfaceSize[2] = {} |
Decorated surface size in device px.
◆ textureResolution
| float PhosphorShaders::UboFrameState::textureResolution[4][2] = {} |
iTextureResolution[i].xy — user-texture slot sizes.
◆ time
| float PhosphorShaders::UboFrameState::time = 0.0f |
Wrapped low part of elapsed seconds (m_time - m_timeHi).
◆ timeDelta
| float PhosphorShaders::UboFrameState::timeDelta = 0.0f |
◆ timeHi
| float PhosphorShaders::UboFrameState::timeHi = 0.0f |
◆ width
| float PhosphorShaders::UboFrameState::width = 0.0f |
◆ yUpInNDC
| bool PhosphorShaders::UboFrameState::yUpInNDC = false |
True when this draw should carry the NDC Y-flip: a Y-up-in-NDC backend (OpenGL, rhi->isYUpInNDC()) AND rendering direct to the window — the producer (ShaderNodeRhi::syncBaseUniforms) clears it when the item is captured into a texture render target (a ShaderEffectSource layer), where a flipped write would invert what the consumer samples.
Drives the qt_Matrix Y-flip the profile folds into fill().
The documentation for this struct was generated from the following file: