Originally published at: https://www.world-machine.com/blog/?p=768
Last time, I revealed that an effort is underway to modernize the UI of World Machine. We also talked about why that change is necessary. If you haven’t yet, read Part One. The main theme is that UI improvements are…
QT is an excellent choice for a mature cross-platform UI framework. No such framework is flawless, but QT is nice to work with. I’ve compiled identical C++ sources for some graphic apps for both Linux and Windows and had no issues. At work, we are building a massive QT-based visualization tool as part of a hardware compiler product. QT seldom imposes a limitation.
The primary issue is the “inversion of control” where QT wants to be the big cheese and run your code in small dribs and drabs in event handlers. I’m sure you are already past that point, and probably have come to grips with the issues of integrating long-running computation into a responsive QT UI. If not, you will need to make sure that no WM module grabs the CPU for unbounded time, or the UI will apparently lock up, being completely non-responsive until the QT GUI thread gets a chance to run.
DUDE! I am STOKED!!
That GUI looks fabilus…I cant wait to get it.
The overlay view looks awesome.
My most wished feature would be some floating device property area instead of open/closing the device property window.
Second would be a better Layout generator.
Third a better flyaround UI.
ohh and also some easy toggle overlay to see scale on the heightmap like my old macro!!
WTG @Stephen
I’m glad to hear that you’ve also had success with QT!
In terms of responsiveness, this is actually one of the big things that LTE is focusing on; Current World Machine does a lot of computation on the GUI thread which causes the UI to become unresponsive. LTE is completely asynch for heavier tasks, so the GUI will never block when loading/previewing a big world, for example.
I’m also pretty stoked! All of your suggestions are good ones.
In particular there’s a very long-standing plan to have device parameters not be modal dialogs anymore. This would let you have the parameters for more than one device up at once, and you can have them appear/dock to a side pane.
That’s not going to appear for the first LTE release, but sometime after almost certainly.
Good choice Stephen. I suspected that’s what you’d land on. Probably going to be a dream after dealing with MFC (I haven’t used MFC since 2002 or so and I hated it then).
Brilliant! I especially love the idea of multiple device parameters open at once! And progressively refining viewport! I’m excited for the future! I guess high resolution displays and better GPU support come free as well?
Hope performance improvements filter down to the rest of world machine down the line. Good luck and godspeed @Stephen!
My workflow involves a lot of switching between 3Dview, 2Dview, Layoutview and Device View.
I would suggest that all or some of the views could be seen (sidebySide)at the same time instead of open/closing them to switch between them.
Like other software (Blender, Substance) where you can have 3-4 views open at the same time.
What are you thoughts about that?
@WFab The background previews are a true game changer. As far as filtering down, the LTE build will become all of World Machine; which is to say, if you have active maintenance, it will be a free upgrade; otherwise you can renew for a pretty reasonable price and get the new version. The exact split of what is available in Pro vs Indie is also due for an update, but some features may be reserved for the higher-end tier.
@Hotshot Absolutely. You can now split your viewport multiple times as well as float additional windows, and you can have more than one 3D view. They can either show the same scene from different angles or completely different devices.
What was unexpected is how useful also having multiple device workviews is; the viewports are synchronized so you can, for example, start wiring from a device showing in one viewport and connect in another.
@Stephen
Can you tell me more about how developing in QT vs MFC vill efttect VM developing time? Is QT less time consuming to develop vs MFC? or is the developing time the same but QT got more features?
Yes.
More fully: For any feature that requires UI-related changes there is a dramatic difference in ease of implementation (time required) and features provided.
Great to see this overhaul, very welcome!
My biggest pain with the UI was that dialogs/windows were modal everywhere, I see you’ve addressed this already above. This absolutely needs to be solved, looking forward to this.
And as mentioned above, 3d navigation needs to be overhauled, too. It just needs to be able to orbit freely, change view height etc. This was very limited in the past so hopefully you’ve got some ideas on this, too.
Great initiative!
The information in the project setting dialog window is not consistent for me.
I tend to click around a few times to find the height and width setting on my procject.
I would propose to move the Terrain altetud setting and maybe the Dimensionality from General Setup TAB to the Rendering extents and Normal build TAB where the Location are found.
Excellent! Look forward to follow the progress. Thanks Stephen!