On Mon, Oct 19, 2009 at 3:14 PM, Thiago Macieira
<[email protected]> wrote:
> Em Segunda-feira 19 Outubro 2009, às 13:12:19, você escreveu:
>> Thank you for such a detailed answer! However, one of the selling
>> points of using a rendering engine instead of raw OpenGL is that your
>> game is written entirely in high-level terms, and as such never
>> depends on the underlying libraries such as OpenGL and D3D.
>>
>> So on windows, Ogre would be using the D3D layer to draw, and one
>> Linux it'd be OGL.
>
> You need to find the highest common denominator between Qt and Ogre3D to
> integrate. Unless Ogre integrates with Qt or Qt integrates with Ogre, you need
> to find something that both have in common in order to coordinate.
>
> OpenGL is a good way, because it's cross-platform. Qt does not use D3D, so you
> can't get a D3D context out of a Qt widget.
>
> If Ogre is using D3D and Qt is not, you probably need to go even one layer
> down, to Win32 HWND handles or something similar.
>

The way the code that I attached works is:

1. Ogre steals a window at the win32/X11 level, and draws itself on
request whenever GraphicsScene::drawBackground is called
2. Qt draws itself via a GraphicsView all other times

It works well except for flickering.

If the only means of removing flicker is via OpenGL (or win32 --
nooo!) then so be it...

Cheers,

_______________________________________________
Qt4-preview-feedback mailing list
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt4-preview-feedback

Reply via email to