Ok so here's the scoop. Im tired of running into gui problems. Why is it that it's so hard to find a good gui to use with irrlicht. They all seem to come with issues. The default gui is find for simple stuff but for anything advanced it can't seem to handle it. Ok some would say why not use a different library. One thing I hate about using external gui libraries is that they are external. I hate the fact of having duplicate string types, list types, and all other types that are duplicates ( XML parsers ). I love irrlicht and I think that its one of the most intuitive rendering engines because it makes things so easy for you to do. Who can say that about other engines. I also hate having to break my irrlicht loop when using libraries like Qt, gtk , or iup. What about CEGUI or libRocket. Well have not really tried these and honestly I'm just not in the mood because I'm just tired. I came across Gwen (http://code.google.com/p/gwen/) which is by far the most intuitive way that I have seen in how to implement a ui into any framework. Compared to other libraries it makes them look pitiful. However, gwen has problems where it violates the heap and likes to crash the application on cleanup which is just a mess. So I have decided to go into irrlicht gui internals and take a look at its state. So what did I find? Well thats simple, clean code. I understand irrlicht's structure which makes it easy to read the code. So I have one word for all users of irrlicht who roll their own gui. STOP! Yes I said to STOP!
It does not make any sense that we can all work together on making irrlicht better, but we cant do the same with the ui. History has shown that a country that is not united cannot stand, and this is the same for irrlicht ui. I want to make some changes to irrlicht ui and any help would be appreciated. I would like to have a discussion about this. If no one wants to help, ill just see what I can do.
Sick of the State of Irrlicht GUI
Re: Sick of the State of Irrlicht GUI
Reimplementing a toolkit, like irrlicht has done, is simply taking on a huge job that will fail.
You will learn everything the hard way, too late, or not at all. Starting from things like proper UI conventions, button ordering, functional word wrapping, theming, and ending up trying to support proper unicode languages, right-to-left text, a multitude of expected-but-missing conventions. I could go on.
Every single attempt to reimplement a toolkit, that did not have a huge backer behind it, has failed. There's a good reason why there aren't that many that are worth using. One prominent example is 3ds Max, they implemented their own toolkit, and as a result suffer from a ton of issues they wouldn't have had they just used a proper one.
You will learn everything the hard way, too late, or not at all. Starting from things like proper UI conventions, button ordering, functional word wrapping, theming, and ending up trying to support proper unicode languages, right-to-left text, a multitude of expected-but-missing conventions. I could go on.
Every single attempt to reimplement a toolkit, that did not have a huge backer behind it, has failed. There's a good reason why there aren't that many that are worth using. One prominent example is 3ds Max, they implemented their own toolkit, and as a result suffer from a ton of issues they wouldn't have had they just used a proper one.
Re: Sick of the State of Irrlicht GUI
@hendu I am not going to reimplement anything, just make changes to make it better. What would you suggest otherwise?
Re: Sick of the State of Irrlicht GUI
Use an established toolkit, like qt or gtk+ that has done the hard work for you.
They follow common hotkeys. Expected UI conventions like button ordering, focus behavior, and so on. They actually implement proper damage behavior, font handling, and many other expected things.
They follow common hotkeys. Expected UI conventions like button ordering, focus behavior, and so on. They actually implement proper damage behavior, font handling, and many other expected things.
Re: Sick of the State of Irrlicht GUI
I'm running into GUI-problems since I started using Irrlicht 5 years ago. Which resulted in me nagging maintainers so long with regular patches until I just got the job of maintaining it and now people can nag me with patches until I find someone else to give that job to. And I was at the same situation at the start - I didn't write the GUI so all the problems I'm hunting meant for me browsing through code I didn't write and figuring out why it's the way it is and how to find solutions (still the same today, I just have done it more now, so mostly familiar with the code today). But I still managed to use the gui for several projects already :-)
So far you reported 2 GUI-bugs - which is great - I really love it when people report stuff I can reproduce! One got fixed - for the other I gave you a simple workaround and an explanation why it's in the state it is (and well ... someone who really works through your second problem and fixes it completely is welcome giving proposals).
If you have more troubles just keep reporting them. One of the advantages of opensource is that we still have the sources and can fix stuff even when the guys who wrote the GUI no longer maintain it. I certainly can't fix problems I don't know about - and I'm sure there are lots of those. Also if you run into an old bug already reported which is just still open don't worry about bumping the corresponding thread again. We _always_ have more stuff on the todo-list than we can work at, but if something is really important for someone's project then we try to give it higher priority.
So far you reported 2 GUI-bugs - which is great - I really love it when people report stuff I can reproduce! One got fixed - for the other I gave you a simple workaround and an explanation why it's in the state it is (and well ... someone who really works through your second problem and fixes it completely is welcome giving proposals).
If you have more troubles just keep reporting them. One of the advantages of opensource is that we still have the sources and can fix stuff even when the guys who wrote the GUI no longer maintain it. I certainly can't fix problems I don't know about - and I'm sure there are lots of those. Also if you run into an old bug already reported which is just still open don't worry about bumping the corresponding thread again. We _always_ have more stuff on the todo-list than we can work at, but if something is really important for someone's project then we try to give it higher priority.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm