More... more units

A place for users of OGRE to discuss ideas and experiences of utilitising OGRE in their games / demos / applications.
Post Reply
iRz
Gnoblar
Posts: 2
Joined: Wed Mar 23, 2005 9:07 pm
Location: Yekaterinburg, Russia
Contact:

More... more units

Post by iRz »

Hi guys. I develop game and need to display very(very!) many animated lowpoly models(2-5 original meshs), like SkeletonDemo.
Anybody know how do it faster?
User avatar
johnhpus
Platinum Sponsor
Platinum Sponsor
Posts: 1186
Joined: Sat Apr 17, 2004 2:49 am
x 3

Post by johnhpus »

Hello, welcome. Your question probably won't get answered because it doesn't really make any sense. I mean no offense and I understand that English isn't your native language.

I noticed that you are from Russia and I thought I'd point out to you that there is a Russian language Ogre site where it might be easier for you to communicate. Your still welcome here of course. Feel free to reword your question and try again if you want to.

Could someone who knows the website address please post it for our friend?
User avatar
johnhpus
Platinum Sponsor
Platinum Sponsor
Posts: 1186
Joined: Sat Apr 17, 2004 2:49 am
x 3

Post by johnhpus »

Actually, here you are: http://www.ogre3d.h14.ru/e/news.php
User avatar
Kencho
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4011
Joined: Fri Sep 19, 2003 6:28 pm
Location: Burgos, Spain
x 2
Contact:

Post by Kencho »

I think he's talking about rendering a high amount of animated low-poly meshes at the same time (maybe a RTS game?).

I would suggest Octree scene management, and intensive use of LOD for those meshes ;)
iRz
Gnoblar
Posts: 2
Joined: Wed Mar 23, 2005 9:07 pm
Location: Yekaterinburg, Russia
Contact:

Post by iRz »

johnhpus wrote:Actually, here you are: http://www.ogre3d.h14.ru/e/news.php
ok, thanks. sorry 4 my english.
Whitebear
Greenskin
Posts: 147
Joined: Mon Oct 25, 2004 5:22 am
Location: RF
x 1

Post by Whitebear »

johnhpus,
You have a chance of working as a teacher of good english language for poor Russians: :)

iRz wrote: :oops:
Anybody know how do it faster?

must be written: :shock:
Does anybody know how to do it faster?

...or something alike.

I'll be the first (not the best) pupil. :wink:
\_ :roll:_/
User avatar
monster
OGRE Community Helper
OGRE Community Helper
Posts: 1098
Joined: Mon Sep 22, 2003 2:40 am
Location: Melbourne, Australia
Contact:

Post by monster »

johnhpus wrote:Your still welcome here of course.
Not a good start for an English teacher!
;)

@ iRz
What kind of scenes are you trying to display?

Yes culling and LOD will get you so far, but you have to realise that there is a finite limit to the amount of scene nodes that you can put into a scene before you start hitting a bottleneck. Even if they're at the lowest LOD and they're mostly culled you still incur quite a substantial cost due transformation and culling calculations. When I was developing Tranz Oz I noticed a massive performance fall-off around the 1000 scene node mark, that might vary depending on your hardware.

If you possibly can you need to bake as much as you can into static geometry. For things in the very far distance try using animated textures on billboards.

If you can show us the kind of scene you'd like to render maybe we can offer some more targeted advice.
User avatar
Kencho
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4011
Joined: Fri Sep 19, 2003 6:28 pm
Location: Burgos, Spain
x 2
Contact:

Post by Kencho »

Depending on the game mechanisms (specially camera ones), you can still do some raw and fast calculations to disable completely far scene nodes. Just a suggestion; I've never faced this problem ;)
User avatar
SpannerMan
Gold Sponsor
Gold Sponsor
Posts: 446
Joined: Fri May 02, 2003 10:05 am
Location: UK
Contact:

Post by SpannerMan »

Kencho wrote:I would suggest Octree scene management, and intensive use of LOD for those meshes ;)
Sorry for the noobish question, but would Octree really be a good solution for culling numerous moveable entities? I was under the impression that octree was only good for partitioning / culling static scenes. If you have a big amount of moving objects (say, lots of soldier units running around fighting), wouldnt the octree have to keep updating / recalculating based on the constantly changing positions?

Whilst were on the subject, can anyone point me to some tutorials concerning octree in conjunction with OGRE?
User avatar
Kencho
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4011
Joined: Fri Sep 19, 2003 6:28 pm
Location: Burgos, Spain
x 2
Contact:

Post by Kencho »

I'm not sure, but I think all these cullers act the same way: You check which sectors (in this case, the octree nodes) the scene node touches in some way, and then cull the appropiate scene nodes. I guess it's the same principle as with BSP culling, but I'm not sure if they work this way (but testing them made me think that after all...)
User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19269
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 66
Contact:

Post by sinbad »

SpannerMan wrote:Sorry for the noobish question, but would Octree really be a good solution for culling numerous moveable entities? I was under the impression that octree was only good for partitioning / culling static scenes. If you have a big amount of moving objects (say, lots of soldier units running around fighting), wouldnt the octree have to keep updating / recalculating based on the constantly changing positions?
It does, but in practice this is not expesive - it's an AABB containment calculation which is pretty fast.
Whilst were on the subject, can anyone point me to some tutorials concerning octree in conjunction with OGRE?
There aren't any tutorials at the moment, mainly because there isn't a lot to say. It's a standard loose octree implementation, the only really interesting thing are the options you can set on it, namely the Size and Depth of the octree - and you only need to play with those on very large scenes. Other than that it just works with the user not really having to care that it's an octree at all.
User avatar
bana
Greenskin
Posts: 132
Joined: Mon Aug 02, 2004 7:40 am
Location: Austin, Texas
Contact:

Re: More... more units

Post by bana »

iRz wrote:Hi guys. I develop game and need to display very(very!) many animated lowpoly models(2-5 original meshs), like SkeletonDemo.
Anybody know how do it faster?
I don't believe this has been said yet, but make sure and look into Hardware Skinninng for your animations (skeletal I'm guessing). As this will allow you to do much more in the GPU and save large amounts of CPU - AGP traffic and so forth (IIRC).

I don't believe that static geometry (or baking as it is known) would help you here, as each is moving (animated) and the large savings from baking generally come from the reduction in the number of transforms necessary for all the separate meshes, wheras since they are animated, this wouldn't be possible.
A proud member of the OpenFrag Coding Team.
http://coolhands.blogspot.com/
User avatar
tuan kuranes
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 2653
Joined: Wed Sep 24, 2003 8:07 am
Location: Haute Garonne, France
x 4
Contact:

Post by tuan kuranes »

shader instancing ? or does hardware skeletal animation already gives that ?

(I mean exactly same draw call for many entitires, using max shader parameters possible to specify positon and animation see GDC 2005 far cry paper or Humus Instancing Demo, only one parameter would change, giving object number that points which parameters to use for this object.)
Post Reply