Nokia shuns Windows and Direct3D Users!

Started by
14 comments, last by Freestyler 14 years, 4 months ago
Quote:Original post by magic_man

Yes stop whinging like a baby.


Yes I'm not allowed to voice my opinions, but your complaints of others frustrations are golden, don't let the irony hit you on the back of the head on the way out...("Don't take my mummy away")

People in Glass houses shouldn't call the kettle black, and you DO know what i'm talking about... :) Save your not useful comments for something you at least understand, and leave the rest of the discussions for people that can understand them.





Advertisement
Quote:Original post by Freestyler
Qt will always overwrite my custom paintEvent now, so you have fighting or flickering of both paintengines, i.e i can see my D3D window when i resize or cause an update, but it's immediately overwritten by Qt's double buffering. (And thanks yes it's very frustrating)
See, I think this is the problem you should be concentrating on. Forget about the lack of a Direct3D painter, that's totally irrelevent: you don't care how Qt paints it's windows, as long as you can use a Direct3D device with a Qt widget as the device window.

If a fix is required from Trolltech/Nokia to make this work, then so be it. But that's a much smaller ask than getting them to reinstate the "experimental" Direct3D painter that was in previous versions.

magic_man was being rather harsh, but he did have a point. Coming on here to vent your frustration is one thing, but that's only going to do so much for you. At the end of the day, you have to solve your problem. If worse comes to worst, you have the source code: you can submit a patch to make it work.
Quote:Original post by Freestyler
Cross Platform, should imply that i can use it on the platform of my choosing, and i could do this when i started with Qt.


No , cross platform has never implied that, it has always meant that the software or library works on more than one platform (Most large cross platform libraries only work on a rather small selection of platforms), The point of cross platform libraries is to make it easier to write cross-platform software, not to make it easy to write platform specific applications (There are plenty of platform specific libraries for most platforms that do a far better job at this than QT) so spending alot of money and other resources maintaining D3D support in QT is fairly pointless.

I don't see what the problem is really, you used experimental features of a library and got burned when those same features were dropped, experimental features get dropped or changed all the time, thats why they're marked as experimental.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
Could the removal of D3D support from Qt have something to do with the fact that Qt recently stopped using native windows for widgets and instead they use "foreign windows", a single native window where Qt draws the widgets. Not using native windows greatly improved the responsiveness of the UI, especially when resizing windows and widgets. This is a fairly major architectural change. When you create a D3D device, you need to have a native win32 window (a HWND window handle, that is) where to render to. Since Qt doesn't have one, they may have dropped D3D support for the sake of simplicity.

What puzzles me, though, is that when you create an OpenGL rendering surface you need to have a native window just as you need with D3D. How do they do this in Qt? Perhaps when using GL, they put a native window on top of the Qt window which to use for the GL surface.

You really should not whine about open source projects dropping a feature you liked. They probably do have a reason for it and the developers are free to do stuff that's in their intrest. If you really want or need that feature back, you are free to grab the source code and hack it there yourself. I'm sure you can find the old D3D widget source from their source repositories and also track down the changes in other relevant parts. Also looking at the source for the OpenGL widget may prove to be helpful.

-Riku
* I think most of the people answering here have missed the point why D3D support is so important for Freestyler. Qt can draw all of its widgets using both the software back-end and the hardware accelerated back-end, Meaning that you can have Qt powered GUI drawn using OpenGL. When it comes to D3D you can not use Qt for in game GUI (at least not hardware accelerated).

* I can understand that you are frustrated but I think Nokia has done the right thing dropping D3D support. Maybe 80% of Qt users don't case at all about OGL or D3D support. Most of the rest 20% are happy to have some kind of fast paint system but still don't care about the implementation and CAD applications have always been OGL based in the first place. Maintaining a D3D paint system is a lot of work due to the fast API change, D3D10+ not being supported on XP and not even word with older hardware on Vista and Win7. Also have a look at "Qt in Use" tab on their homepage and you will see that Windows is maybe not even the most important platform for most of the Qt customers.

* What are the alternatives? Well, many AAA titles use Scaleform Gfx but it is an expensive product. Many game engines have also built in GUI system. I think the DirectX SDK includes a minimal GUI library and there are probably some other free libraries.

* What else? Forget those "D3D vs. OGL" clichés, learn both and use the API that suites your needs. If Qt let you develop your application in half the time its probably better to use it than reinventing the wheel. Better get something done than ending in something like Duke Nukem ForNever.

[Edited by - Kambiz on December 24, 2009 7:39:51 AM]
Quote:Original post by riku

You really should not whine about open source projects dropping a feature you liked.


Where have i done this please?

I'm letting other Direct3D users know so they avoid the same pitfalls, sorry if you whingers see that as whinging, but to me i was suggested Qt as a GUI framework from this forum for developing my own apps and code, and now it's taken away.

This fact was not documented very well, i had no idea it was "experimental" until after they have dropped support for it, and now that i have wasted 6 months learning a framework that no longer runs the code the same as it did, i seem to have a right to be a little pissed personally.

If Qt could document it, comment on it or tell me what the -direct3D switch was doing, than i may have a chance of doing it myself manually without the burden being on Trolltech to begin with?. Or why i have "fighting"due to double buffering this would at least be acceptable.

I was looking at becoming a commercial user of Qt because i plan on writing Plugins for Newtek CORE. Newtek have recently gone C++ and changed to Qt as well and are commercial users of Nokia's GUI for there upcoming 3D application.

So to claim i shouldn't be able to "whinge" when they drop an important reason as to why i would be paying $3000 for a commercial license in the first place, is also a little misplaced i think.

The MAIN point i think others are missing is, I didn't ask for Trolltech to offer Direct3D class in Qt, i agree this is more work for Nokia that they shouldn't really maintain. Qt have recently added their own QtOGL class, i personally don't need that either as i always subclassed my own from QWidget.

So let me create my own Direct3D Class for Qt and let me use that?

But to stop the ability for other rendering engines to work within it, i think is my main gripe, and i think is a shortsighted option to take for Qt. If i knew how to hack around the issues and to allow my PaintEvent to not fight with Qt's then it would be a moot point, but nonody has even gotten close to explaining this to me via Qt support channels.

So perhaps "support for D3D" can be dropped, but preventing it from working allogether seems like a very big reason to avoid using Qt for gaming or 3D visualization for anything other than OGL.I think that truly makes it a lot less Windows friendly to most on this forum.

Cheers,





This topic is closed to new replies.

Advertisement