-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
osgQtQuick can use .earth file, but when i use earth's some Advanced Features. find error #8
Comments
Hello! Give more information: the operating system, compiler, Qt version, OSG version, osgEarth version, osgQtQuick version? Yes: osgQtQuick provide base osgEarth support. See earth.qml test script. My test environment: Windows 7, Qt 5.3/5.5, OSG 3.4, osgEarth 2.7, osgQtQuick from develop. For you examples, I get black screen too, but some other examples work good. |
Hi, podsvirov Thanks for your prompt response. My test environment: Windows7, Qt 5.5.1, OSG 3.4.0, osgEarth(Master), osgQtQuick from develop, visual studio 2012 x64 compiler. Most osgEarth examples work good too. once use "terrain-gpu" or "terrain-drape", get black screen. Thanks |
Since Qt 5.5 on the windows (MSVC), I see the problem with the change of the window size. |
Hi, podsvirov The problem with the change of the window size, I meet too. It is caused by Qt modify default render mode. Qt has three render mode(..\qtdeclarative\src\quick\scenegraph\qsgrenderloop.cpp). Since Qt 5.5, default render mode is modified to "ThreadedRenderLoop", so when windows size changed, recreate fbo, will occur error. I just continue use WindowsRenderLoop mode, can avoid this problem by add code before application created: |
Thank you for the valuable information. I do not find this documentation Qt (maybe bad looking). |
These render parts need to look over Qt source code because they are implemented in .cpp file D:\Qt\Qt5.5.1_x64\qt-everywhere-opensource-src-5.5.1\qtdeclarative\src\quick\scenegraph\qsgrenderloop.cpp qsgthreadedrenderloop.cpp ---related to independent thread to render, this is default since Qt 5.5 if use QSGThreadedRenderLoop, we can't get QOpenGLContext::currentContext() when window size changed, because window size changed event triggered by window thread. follow as function call when create QOpenGLFramebufferObject. static QOpenGLFunctionsPrivateEx *qt_gl_functions(QOpenGLContext *context = 0) black screen maybe caused by Quick don't work with the creation of the FBO :see:http://forum.osgearth.org/black-screen-with-drape-mode-in-a-QOpenGLWidget-td7588548.html |
Hi, Maybe this will help. JD. |
Hello! Thank you for the search, but the author of this debate - that's me :-) Although you can read for reference. Today, I learned about another project - QtQuick2OSGItem. It is possible that this experience can be useful. |
Temporary solution: Rendering Limitations |
Please, note also that i did a patch for the drape technique. |
Hello @youngerking1985 and @JD31, |
@podsvirov |
@podsvirov Warning: detected OpenGL error 'invalid enumerant' after applying GLMode 0xb50 |
Hello @youngerking1985, thanks for you expirience. |
Ping. Any feedback. |
hi:
osgQtQuick can use .earth file, but when I use earth's some Advanced Features. such as "terrain-gpu", or "terrain-drape", viewport don't display anything, just black。 with osgearth/tests/feature_draped_polygons.earth can reappear this issue.
thanks
The text was updated successfully, but these errors were encountered: