   Dynamic Object Considerations [bumped!]
  BackgroundSince this is my second post and I did not provie any background on my first post here is some! I have only been looking at graphical application development for a month now so please excuse any, what may appear, uneducated questions. I am a software engineer student on an industrial placement year and thus have a strong programming background in C# and Java. However I am on an industrial placement year with a research group developing a virtual reality front end to their modelling software. I am using unmanaged C++ and DirectX 9.0c in the Visual Studio 2003.NET IDE.Question: Dynamic Object ConsiderationsThis virtual reality front end will have to simulate upto 10,000 people (possibly more!) walking/running/crawling about different public places (buildings, boats, etc). Now my question is merely a theoretical one. Without going into culling techniques (I have a fair understanding of how to implement them) unless you think it is a vital initial consideration, what sort of dynamic objects would have the lowest performance overhead and still look reasonably realistic. "Sort" is probably the wrong word as what i mean is how should I animated them (bone-hierarchies (I have 3DS Max at my disposal), simple matrix multiplications, sprites?). This is all about performance as there will be a LOT of people moving about and possibily other dynamic objects as well, although people are the only consideration for the time being.Thanks for your time,Alex.[Edited by - CHTHONIC on December 7, 2005 2:27:39 AM]
  BUMP!   ;  10000+ objects?  I would stick with sprites.xyzzy   ;  Do you know of any decent 3D sprite tutorials? I have googled, but not too sure exactly what I should have been looking for in the first place. Its all new ground for me!Alex.   ;Quote:I have googled, but not too sure exactly what I should have been looking for in the first place.Try looking into "billboards" or "imposters" - those are more commmon names for a 3D sprite...Anyway..I think it was one of the "Total War" games that I was reading about, but they had to simulate 10's of 1000's of combatants in real-time. I seem to remember they used an LOD system with a twist - the lowest LOD (used for many of the sprites) were a single character rendered to a texture. That texture was then used by the aforementioned billboarding techniques to simply copy-n-paste one character. The obvious limitations being that they're all copies - but the human eye can be very good at "overlooking" this sort of thing...If I were to solve this, I'd put a lot of work into aggressive culling (not just view-frustum, try occlusion as well) and a decent LOD system.hthJack   ;  One question : all those people must be differents form each other ? Or can you use, say, 10 different models and re-use them to display the 10K people ?Because if you can re-use a model, then a LOD system + geometry instancing could allow you to display those 10K people, I think.   ;  The first and obvious problem that I can foresee with billboarding/imposters is that when you move a viewport around (as will happen) and are above a billboard/imposter, their 2D nature will be revealed. Are there any tricks to give them 'depth'?Alex.   ;Quote:Original post by CHTHONICThe first and obvious problem that I can foresee with billboarding/imposters is that when you move a viewport around (as will happen) and are above a billboard/imposter, their 2D nature will be revealed. Are there any tricks to give them 'depth'?There aren't really any particularly good tricks to get around their 2D nature - but if that is a big problem then you probably don't want to be using them in the first place [smile]My suggestion where the lowest LOD is a cloned render displayed as an imposter works fine because the lowest LOD should only be used at a distance from the viewer. At such a distance the fact that they're fake shouldn't be important - the eye will likely be focusing on any high detail characters in the foreground.hthJack   ;  First off, thanks for the responses guys.I know what billboards are, imposters are pretty much what they say on the tin. Now then, LOD systems...As ever I have been googling about trying to trawl up and digest as much information as possible. The concept is obviously very simple, as for decent implementations which are customised towards the problem in hand, this looks far from simple (easy concept, difficult customised design and implementation...pretty much the same as efficient occlusion culling!).To save some time on my part (and to use the best resource available to me on the topic... you guys), I was wondering if you had any links to articles/tutorials which YOU think would benefit me, as half of what i trawled up appeared interesting initially, but rapidly descending into irrelevant waffle!Thanks again for your continued help,Alex.   