39 lines
677 B
C++
39 lines
677 B
C++
#ifndef RENDERBACKEND_H
|
|
#define RENDERBACKEND_H
|
|
|
|
#include "node/output/viewer/viewer.h"
|
|
|
|
class RenderBackend : QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
RenderBackend();
|
|
virtual ~RenderBackend();
|
|
|
|
virtual bool Init() = 0;
|
|
|
|
virtual void GenerateFrame(const rational& time) = 0;
|
|
|
|
virtual void GenerateSamples(const rational& time, const rational& length) = 0;
|
|
|
|
virtual void Close() = 0;
|
|
|
|
const QString& GetError();
|
|
|
|
void set_viewer_node(ViewerOutput* viewer_node);
|
|
|
|
protected:
|
|
virtual void Decompile() = 0;
|
|
|
|
void SetError(const QString& error);
|
|
|
|
ViewerOutput* viewer_node() const;
|
|
|
|
private:
|
|
ViewerOutput* viewer_node_;
|
|
|
|
QString error_;
|
|
};
|
|
|
|
#endif // RENDERBACKEND_H
|