Hi Andrea,

One question/test: have you been able to run osgviewerQt on Windows for instance? Usually, I need to patch src/osgQt/GraphicsWindowQt.cpp in 2 locations in order to prevent illegal values for scaled_width and/or scaled_height:

void GLWidget::resizeEvent( QResizeEvent* event )
{
    const QSize& size = event->size();

    int scaled_width = static_cast<int>(size.width()*_devicePixelRatio);
    int scaled_height = static_cast<int>(size.height()*_devicePixelRatio);

    if (scaled_width <= 0 || scaled_height <= 0)
        return;

    _gw->resized( x(), y(), scaled_width,  scaled_height);
_gw->getEventQueue()->windowResize( x(), y(), scaled_width, scaled_height );
    _gw->requestRedraw();
}

void GLWidget::moveEvent( QMoveEvent* event )
{
    const QPoint& pos = event->pos();
    int scaled_width = static_cast<int>(width()*_devicePixelRatio);
    int scaled_height = static_cast<int>(height()*_devicePixelRatio);

    if (scaled_width <= 0 || scaled_height <= 0)
        return;

    _gw->resized( pos.x(), pos.y(), scaled_width,  scaled_height );
_gw->getEventQueue()->windowResize( pos.x(), pos.y(), scaled_width, scaled_height );
}

Without these checks nothing is rendered. Maybe this is the case for Android too?

hth,
Raymond



On 10/24/2016 11:11 AM, Andrea Bracci wrote:
Hi,

I'm trying to run a simple application using OSG + Qt on Android.

I have successfully built OSG Release 3.4.0 for Android (armeabi-v7a) and it 
successfully runs on Android as expected (I have run the example 
osgAndroidExampleGLES2 and it runs flawlessly). I have also successfully built 
osgQt for my Qt version 5.7.0, as well as the osgViewerQt example for Android 
armeabi-v7a.

However if I run osgviewerQt on my Android device (version 5.0.2, API 21) it 
fails to render anything, in a way similar to what I found at the following 
link:

http://lists.qt-project.org/pipermail/interest/2015-July/017869.html

In order to simplify the application I allocate a single QWidget (instead of 
the four ones contained in the original osgviewerQt example) loading a single 
osg::Node* from a file cessna.osg. I have verified that the cessna.osg file is 
successfully loaded through a qDebug() logging message on the value of the 
loaded pointer. On my Android device I see the OSG-default blue screen without 
any object.

As an additional information: I have successfully built and executed the Qt 
examples with OpenGLES on my Android device.

I have done an extensive web search but I didn't find the solution to my 
problem, nor anyone that successfully ran OSG + Qt on Android.

Can anyone tell me where am I wrong, or what steps shall I follow to make my 
OSG+Qt application to work on Android?

Thank you in advance for your kind replies!

Cheers,
Andrea

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=69134#69134





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to