This commit is contained in:
2026-05-02 16:40:21 +10:00
parent 8d01ea4a3c
commit 1a4c33b9dc
23 changed files with 3725 additions and 401 deletions

View File

@@ -53,8 +53,10 @@
#include "DeckLinkAPI_h.h"
#include "VideoFrameTransfer.h"
#include "RuntimeHost.h"
#include <atomic>
#include <functional>
#include <map>
#include <memory>
#include <vector>
@@ -63,6 +65,7 @@
class PlayoutDelegate;
class CaptureDelegate;
class PinnedMemoryAllocator;
class ControlServer;
class OpenGLComposite
@@ -75,6 +78,11 @@ public:
bool Start();
bool Stop();
bool ReloadShader();
std::string GetRuntimeStateJson() const;
bool SelectShader(const std::string& shaderId, std::string& error);
bool UpdateParameterJson(const std::string& shaderId, const std::string& parameterId, const std::string& valueJson, std::string& error);
bool SetBypassEnabled(bool bypassEnabled, std::string& error);
bool SetMixAmount(double mixAmount, std::string& error);
void resizeGL(WORD width, WORD height);
void paintGL();
@@ -113,19 +121,24 @@ private:
GLuint mIdFrameBuf;
GLuint mIdColorBuf;
GLuint mIdDepthBuf;
GLuint mFullscreenVAO;
GLuint mGlobalParamsUBO;
GLuint mProgram;
GLuint mVertexShader;
GLuint mFragmentShader;
GLint mUYVYtexUniform;
GLfloat mRotateAngle;
GLfloat mRotateAngleRate;
GLsizeiptr mGlobalParamsUBOSize;
int mViewWidth;
int mViewHeight;
std::unique_ptr<RuntimeHost> mRuntimeHost;
std::unique_ptr<ControlServer> mControlServer;
bool InitOpenGLState();
bool compileFragmentShader(int errorMessageSize, char* errorMessage);
void destroyShaderProgram();
void renderEffect();
bool PollRuntimeChanges();
void broadcastRuntimeState();
bool updateGlobalParamsBuffer(const RuntimeRenderState& state);
};
////////////////////////////////////////////