Files
video-shader-toys/apps/LoopThroughWithOpenGLCompositing/runtime/live/RenderStateComposer.h
Aiden 06f3dd4942
Some checks failed
CI / React UI Build (push) Successful in 10s
CI / Native Windows Build And Tests (push) Successful in 2m33s
CI / Windows Release Package (push) Has been cancelled
Phase 3 refactor in progress
2026-05-11 16:48:52 +10:00

31 lines
797 B
C++

#pragma once
#include "RuntimeLiveState.h"
#include <chrono>
#include <vector>
struct RenderStateCompositionInput
{
const std::vector<RuntimeRenderState>* baseLayerStates = nullptr;
RuntimeLiveState* liveState = nullptr;
bool allowLiveCommits = false;
bool collectLiveCommitRequests = true;
double liveSmoothing = 0.0;
std::chrono::milliseconds liveCommitDelay = 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 RenderStateCompositionInput& input) const;
};