I'm in the middle of exams, and working at The Dead Linger, so I'll make it short.
- DOWNLOAD ODP - The original slides are in ODP; which has to be viewed with OpenOffice Impress. If you try to view it with MS PowerPoint, format will be all screwed.
- DOWNLOAD PDF - The PDF is the best cross-platform version. The format follows the intended view on all or most devices. You'll miss a few animations though (the one you may want to see is the one about the proposed new render flow)
- DOWNLOAD PPT - The PPT version was created with OO Impress export feature. If you open it with MS PowerPoint, the format will be much better than opening the ODP. But beware not all slides are perfect. Use this version to see the animations while comparing with the PDF, if you don't want to download OpenOffice.
I wrote an addendum 01 DOWNLOAD PDF regarding threading UpdateAllTransforms & UpdateAllAnimations (original odp file can be downloaded here).
Added tasks to wiki page
-- end of update --
I've made a document that goes through all current pitfalls from Ogre 1.x; comparing our engine with other engines (Frostbite, Avalanche Engine, CryENGINE, UDK) gathered from publicly available information (GDC papers, SIGGRAPH, company websites, etc)
Latest changes in the industry made me realize we need to start urging about doing the 2.0 shift. We need to adapt or die.
Then I propose a new engine design for 2.0; which we currently don't have any! Now all that is left is to code it.
I apologize for not making the slides more eye candy (the format is inconsistent between a few slides, the background on most pages is solid white) but I can't keep delaying this presentation any longer, and is the result of more than 8 months of work, with a lot of it involving my mind going auto-pilot when doing recreational stuff and simulating possible design solutions, identifying dependency problems, race conditions for parallel algorithms, potential efficiency problems.
I didn't cover a lot of stuff, but it's a good start. By the way, no design will ever be finished as it has to be constantly evolved, so we have to draw the line.
A few things I didn't cover but want to mention:
- Reference pointer. Our SharedPtr sucks hard. Period. It's VERY multithreaded unfriendly. It's sloppy design. We just don't care when or where Ptrs lose ownership. Objects should have a real creation - deletion localized place. Writing a few rules about how objects are created and when destryoed would solve the issue. Most likely after the frame is finished (i.e. guarantee all pointers are valid during the frame's update)
- The slide is biased towards DX11, but that was written before Microsoft decided to pull their [sarcasm]brilliant[/sarcasm] move of making DX 11.1 for Win 8 only. Here's a good read about GL 4.3. You'll notice I posted a few comments there. As a side-note, even Gallium3D developers (linux) think D3D10 design is superior to GL. Note that they talk about their design (as a way of managing the GPU), not the API itself. It's a shame GL Longs Peak fiasco still hunt us all...
- No Boost please. Most of it is bloated for a performance intensive application (and compile times!). Not to mention the executable size sky rockets by unbelievable factors (10x is not uncommon); and debugging the call stack of a thread created with boost is a major pita when compared to clean callstacks and thread names in the Thread window when using native thread creation. Using Boost can be very tempting, but we do everyone a service by refraining ourselves from using it in Ogre.
Cheers
I hope you enjoy it
Dark Sylinc
PS. This should probably be added to the wiki (Roadmap to 2.0 was it?) and we probably should create a folder in Mercurial exclusively for docs about 2.0