Implement default methods for plugin parameter editing and progress, and integrate plugin rendering into the build system.

This commit is contained in:
Mike Solar
2025-12-24 21:07:17 +08:00
parent 88ba0e4841
commit 7c0f37b0a7
10 changed files with 332 additions and 290 deletions
+18 -7
View File
@@ -23,20 +23,31 @@
#ifndef PLUGINRENDERER_H
#define PLUGINRENDERER_H
#include <QOpenGLExtraFunctions>
#include <QOpenGLBuffer>
#include <QOpenGLFunctions>
#include <QOpenGLShader>
#include <QOpenGLVertexArrayObject>
#include <QThread>
#include <QOffscreenSurface>
#include "render/renderer.h"
#include "render/job/pluginjob.h"
#include "render/opengl/openglrenderer.h"
namespace olive
{
namespace plugin{
class PluginRenderer : public olive::Renderer{
class PluginRenderer : public olive::OpenGLRenderer{
Q_OBJECT
public:
PluginRenderer(QObject *parent=nullptr):Renderer(parent){};
PluginRenderer(QObject *parent=nullptr):OpenGLRenderer(parent){};
virtual ~PluginRenderer() override{};
protected:
void Blit(QVariant shader,
ShaderJob job,
Texture *destination,
VideoParams destination_params,
bool clear_destination) override;
virtual void Blit(QVariant shader, olive::AcceleratedJob& job,
olive::Texture *destination,
olive::VideoParams destination_params,
bool clear_destination) override;
};
}
}