Time to make some progress report:
I'm making the preparations for publicly releasing the AZDO branch aka "Ogre 2.0 Final". This doesn't mean it's ready, but rather that it becomes public; as there has been a lot of development that has been done behind closed doors.
You can follow my current TODO list in my trello board.
Right now my biggest issue is that none of the samples work. This is because Overlays now must use Hlms materials, and I didn't port the SDK widgets assets from SamplerBrowser. Furthermore I didn't see if there would be additional issues.
Furthermore, it would be far more useful IMHO if I just provide a couple of samples on how to get Ogre 2.0 Final running, showing how to use the new features and interfaces.
There are several issues I have with the existing samples:
- They're heavily outdated. I would ditch them all save for one or two exceptions. Rewrite those that are useful (i.e. Fresnel demo, Postprocessing)
- We need demos that show how to use the engine. Something that is based on a template that is efficient and follows proper practices.
- We need flashy demos to show the power we can do.
- The samplebrowser is very professional looking for showcasing. But it is a PITA. It is a huge goliath of base code nobody wants to dig in, newbies don't want to use nor try to understand; it's hard to be used as a base for your own projects, it's hard to use it for sending bug repros; and working on a single sample means each run will try to load all the other unrelated samples. There is barely any isolation, despite being separate DLLs.
I see Havok and they get away with a unified sample browser. However their browser is actually quite simple (text based, no mouse cursor support, there's barely any beautiful widget rendering) and comes together with a 1050-page manual in which every chapter has its own demo showing the feature, and the manual explains how to initialize and deinitialize the physics engine with snippets and all, ready for copy pasting; and you can find in files those snippets in the demo and they look the same. It's the same code! This makes understanding the base much easier.
As much as I want to believe I'm good at writing documentation, maintaining the doxygen, and leaving a lot of the wiki to the community; we can't match an offline (offline = always ready; unlike a wiki which has network latency) 1050-page manual maintained by multiple, dedicated people.
So I'm more inclined to believe that we should go back to basic separate EXEs; and see if we can still port the SamplerBrower to show how it can be done and show the flashy demos; but the basic demos get the high priority.
DirectX SampleBrowser is in the middle between: All demos are simple, separate EXEs. The Browser itself is a simple external native-based GUI that launches the executable. I like this approach. Professional, yet simple.
And then there's Android, where having one app per sample feels too much; unless we research in ways to have a central launcher/project picker, that launches a separate activity for each demo.
Anyone can share their thoughts?