I am new at Qt and didn't know about rendering windows to an FBO.
I tried:
QQuickWindow* window = this->window();
if(window)
{
QOpenGLFramebufferObject* FBOobject = window->renderTarget();
if(FBOobject)
{
//...
}
}
QQuickWindow* window = this->window();
if(window)
{
QOpenGLFramebufferObject* FBOobject = window->renderTarget();
if(FBOobject)
{
//...
}
}
To copy to clipboard, switch view to plain text mode
But, renderTarget returned null value. I guess I should create FBO.
Also, I tried this one, but it doesn't work:
QOpenGLFramebufferObjectFormat format;
format.setAttachment(QOpenGLFramebufferObject::CombinedDepthStencil);
QOpenGLFramebufferObject* FBOobject = new QOpenGLFramebufferObject(window->size(), format);
FBOobject->bind();
glViewport(0, 0, window->size().width(), window->size().height());
glFlush();
FBOobject->bindDefault();
if(FBOobject)
{
QImage image
= FBOobject
->toImage
();
image.save(path)
}
delete FBOobject;
QOpenGLFramebufferObjectFormat format;
format.setAttachment(QOpenGLFramebufferObject::CombinedDepthStencil);
QOpenGLFramebufferObject* FBOobject = new QOpenGLFramebufferObject(window->size(), format);
FBOobject->bind();
glViewport(0, 0, window->size().width(), window->size().height());
glFlush();
FBOobject->bindDefault();
if(FBOobject)
{
QImage image = FBOobject->toImage();
image.save(path)
}
delete FBOobject;
To copy to clipboard, switch view to plain text mode
Could you please provide an example how to render the window to an FBO?
Bookmarks