Hello Oliver

Thanks for your help. In Windows and Linux it does not flickers and you can see 
two small rectangles (one yellow and one green).

In the original code I did not asked for any OpenGL version, I changed it to 
4.3 to see if there were any change and forget about it. The main target of the 
code is OpenGL ES 2 and I use the desktop version for development so as long as 
it worked I did not care about this. Maybe I'll have to take a closer look at 
it.


The code is as minimal as I could get in a couple of hours. I developed it for 
a couple of games I have published. If you have an iOS device let me know and I 
will send you a promo code.

There is not paintGL method, the render is done from the timer function and it 
calls App::Step that in turn calls AppDelegate::Render. Here is where the two 
rectangles are defined and drawn.

Which version of Qt did you use? In my experience the code works fine in 
Windows with Qt 4 but fails with Qt 5. In Linux it works fine in Qt 4 and Qt 5. 
Symbian and Meego use Qt4 and works fine. In other systems (Android, iOS and 
BB10) I do not use Qt and it runs fine.


Thanks

  Carlos






On Friday, March 21, 2014 8:28 PM, Till Oliver Knoll 
<till.oliver.kn...@gmail.com> wrote:
 
Am 21.03.2014 um 14:06 schrieb Carlos <aarkham...@yahoo.com>:

Hello Sean
>
>I'm attaching a Qt project that has this problem. If you run it with Qt 4 it 
>shows a black screen with two small rectangles but if you run it with Qt 5 the 
>screen is displaced and only one of the rectangles can be seen.
>

I just tried your example code on a MacBook Pro 2010 (max. OpenGL context: 3.3 
- GLSL 3.30), and it fails there as well: I get a window which is almost as 
heigh as the desktop, but very small (like 200 pixels). Most of the screen is 
indeed black, but the lowest 20% or so of the window content contain pixel 
garbage which is flickering like crazy (probably due to your timer that you are 
using). The garbage and flickering changes when I resize the window, but 
definitively garbage ;)

With some goodwill there is also some orange coloured (?) squeeded rectangle 
recognisable in between which might be painted by your code.

Not quite unexpected I also "just" got an OpenGL 2.1 context, since I already 
wrote that there is no "compatibility" context on OS X (and you are requesting 
a 4.3 "compatibility" context, which IMHO totally does not make sense, since as 
you say your code must also run on OpenGL ES 2.0!).

Anyway, when changing your code and requesting a "Core" 3.3 context (as I said, 
my MBP 2010 does not go beyond) I finally got what I asked for.

Off course then your shaders totally won't compile (I guess - haven't checked), 
as you're using an older GLSL 1.20 dialect ("attribute" vs "in/out" etc.).

But even when explicitly asking for a 2.1 context I get garbage.

Unfortunatelly your example code is NOT a minimal example! I somehow got as far 
as figuring out where you derive from QGLWidget, but failed to see (in the time 
my interest level was above 30%, that is ;)) where you actually do your drawing 
(e.g. I did not see the paintGL method implemented, as expected - or I must 
have missed it between all that platform-dependent #ifdef hack-party ;)).

I suggest you start from scratch with a minimal "Hello GL" triangle example 
(from a book or tutorial), try to stick to OpenGL ES 2.0 syntax (if that is 
your goal), and then add piece by piece code from your actual application 
again, until you fail - there will be your mistake ;)

Cheers,
  Oliver
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to