separation of previous renderer into base and derivation complete

The previous iteration was fairly OpenGL-heavy. It's now been separated into
a base class that is OpenGL independent and a derived class that is
OpenGL-based. Over time this should allow for portability away from OpenGL
if necessary.
This commit is contained in:
itsmattkc
2019-11-01 12:58:38 +11:00
parent f13fb648c7
commit 429514b1fd
18 changed files with 267 additions and 777 deletions
+3 -3
View File
@@ -84,7 +84,7 @@ ViewerWidget::ViewerWidget(QWidget *parent) :
ruler_->SetScale(48.0);
// Start background renderers
video_renderer_ = new VideoRenderBackend(this);
video_renderer_ = new OpenGLBackend(gl_widget_->context(), this);
connect(video_renderer_, SIGNAL(CachedFrameReady(const rational&)), this, SLOT(RendererCachedFrame(const rational&)));
}
@@ -168,7 +168,7 @@ void ViewerWidget::DisconnectViewerNode()
ConnectViewerNode(nullptr);
}
void ViewerWidget::SetTexture(RenderTexturePtr tex)
void ViewerWidget::SetTexture(OpenGLTexturePtr tex)
{
if (tex == nullptr) {
gl_widget_->SetTexture(0);
@@ -197,7 +197,7 @@ void ViewerWidget::UpdateTextureFromNode(const rational& time)
if (viewer_node_ == nullptr) {
SetTexture(nullptr);
} else {
SetTexture(video_renderer_->GetCachedFrame(time));
SetTexture(video_renderer_->GetCachedFrameAsTexture(time));
}
}