Files
video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/live/RenderStateComposer.h
Aiden 7740fe209c
All checks were successful
CI / React UI Build (push) Successful in 10s
CI / Native Windows Build And Tests (push) Successful in 2m39s
CI / Windows Release Package (push) Successful in 2m54s
Phase 5 step 2
2026-05-11 18:56:39 +10:00

32 lines
951 B
C++

#pragma once
#include "RuntimeLiveState.h"
#include <chrono>
#include <vector>
struct LayeredRenderStateInput
{
const std::vector<RuntimeRenderState>* basePersistedLayerStates = nullptr;
const std::vector<RuntimeRenderState>* committedLiveLayerStates = nullptr;
RuntimeLiveState* transientAutomationOverlay = nullptr;
bool allowTransientAutomationCommits = false;
bool collectTransientAutomationCommitRequests = true;
double transientAutomationSmoothing = 0.0;
std::chrono::milliseconds transientAutomationCommitDelay = std::chrono::milliseconds(150);
std::chrono::steady_clock::time_point now = std::chrono::steady_clock::now();
};
struct RenderStateCompositionResult
{
std::vector<RuntimeRenderState> layerStates;
std::vector<RuntimeLiveOscCommitRequest> commitRequests;
bool hasLayerStates = false;
};
class RenderStateComposer
{
public:
RenderStateCompositionResult BuildFrameState(const LayeredRenderStateInput& input) const;
};