[SOLVED] Using a vtk renderer in QtQuick
-
I need to set the geometry in my setsize or I get nothing in the window.
@
QSGFboTexture::QSGFboTexture(QGLFramebufferObject* fbo)
:QSGTexture()
{
m_fbo = fbo;// setFbo(fbo);
if (m_fbo != NULL)
firstTimeBound = true;}
@same as setFbo ;-)
The problem is that on ANGLE we are using a GLES emulator not OpenGL.
Those two functions don't exsist.What happens to your window when you dont call the push and pop?
@void ColorNode::preprocess()
{
if(m_fbo == NULL) return; //will happen a few timesQOpenGLContext::currentContext()->functions()->glUseProgram(0); m_fbo->bind();
CCDirector::sharedDirector()->mainLoop();
m_fbo->release();
m_fbo->toImage().save("name.png","png");
}@
-
Its not working without the push and pop (nothing is rendered, only the background). Unfortunatelly I cannot tell you why, I'm no OpenGL expert.
-
I think I understand why.
The only problem is GLES doest support those functions so how do we get around them?Maybe I should make a new thread to this issue?
-
I found a new way of solving this problem.
It Involves setting up a separate opengl context and switching between the two before and after binding and releasing the fbo.
Any idea how to draw correctly for a y inverted fbo.
On qquickpainteditem we can set it to flip but not for the qsgtexture :/ -
Hey, thanks for your reply. Can you provide some code how you do that?
In my case, it also seems to be the cleanest way to do the same thing and I wan't to try that. :-)For the flipping problem I would naivly just scale (glScale) the y-Axis with -1. But as I mentioned, I'm no OpenGL expert.
-
Hey z.emb
I used what was on this thread.
http://qt-project.org/forums/viewthread/25268/
I just changed this line for the flip y.
QSGGeometry::updateTexturedRectGeometry(&m_geometry,
QRectF(0, 0, m_size.width(), m_size.height()),
QRectF(0, 0, 1, 1));to
QSGGeometry::updateTexturedRectGeometry(&m_geometry,
QRectF(0, 0, m_size.width(), m_size.height()),
QRectF(0, 1, 1, -1));//0011 = old y fliped -
Can you give me some code how you switched the GL-context?
-
Hey Guys,
Apologies about not replying.
I didn't realize I got a response.I swapped the context at the very beginning by using the code in this thread
http://qt-project.org/forums/viewthread/25268/
Hope that helps Ricky, just got your pm.
Many Thanks
Martell -
Hi,
I still did not get it.
Could you, please, anyone post a full example about rendering vtk to qtquick?
I was trying to understand the discussion but I did not get through...Best regards,
radek
-
Hey, I join to this request. Even the simplest example would be helpful.
Regards,
rafal -
I have created a repository with code that integrates VTK with Qt QuickControls 2, tested with VTK 8 and Qt 5.9. You can find the code here https://github.com/nicanor-romero/QtVtk with building instructions in the README. Also a brief article about it,
https://blog.bq.com/es/integrating-qtquickcontrols-2-with-vtk/