I’ve been crazily busy lately trying to get OgreSpeedTree to a fit state for a 1.0 release alongside other projects (such as Ogre of course), so I can really start promoting it. Being the kind of person I am, I find it hard to stop tinkering and perfecting and I can’t let something go out the door without being totally happy with it. The screenshots and videos so far have been good I think, but I’ve been polishing away and making it all just that bit better, and one element of that has been some additional optimisation.
Thanks to some improved batching, OgreSpeedTree is now running even faster than before, and most importantly it scales to larger forests even better than before too. Here’s a short video where I tested adding over 8,000 trees (from 5 different models, and each with different rotations / scales) to the scene, together with over 2.5 million blades of grass, each of which canĀ be placed individually (I procedurally generated the distribution, but it could be done manually). Actually some of those tree models have multiple trees in them (the very close ‘clusters’ of 3/4 are actually one model), so in reality there are actually 12,000+ trees as far as the viewer is concerned.
Note that all the trees here are dynamically lit including normal mapping, and dynamic shadows are being cast through 3 shadow textures (PSSM). The LOD transitions are extremely hard to spot IMO too.
On my 9800 GX2 with a 2.66 dual-core, it runs consistently over 60fps (actually about 75fps most of the time). This is with a quite denseĀ clustering of the trees too; If you spread the trees out a bit more you can easily double that. The LOD settings are quite high too; reign those in and your lower class cards should be able to easily handle this, and of course you have the option of dropping or scaling back the dynamic shadows if you’re pushed.
I’m happy
Not that I’ve quite finished of course, I have a couple of things still to polish for 1.0, but it shouldn’t be long now.









September 17th, 2008 at 2:40 pm
Great Work!
Would love to see the demo video with an undulating terrain rather than a plane - would look even nicer when you raise the camera up.
September 17th, 2008 at 2:47 pm
Thanks. I agree, coming up with a more interesting test scene for the demo is definitely on my list, I just need to concentrate on the core issues for the moment. All in good time
September 17th, 2008 at 2:53 pm
A varied mixture of foliage would be nice too.
September 17th, 2008 at 4:31 pm
Hey, I like birch trees
I have 3 other tree libraries I often test with and will be doing a more varied demo later.
September 17th, 2008 at 7:43 pm
Awesome!
September 17th, 2008 at 8:31 pm
I like birch trees too, we have a lot of them here in Sweden! Beautiful shots!
September 17th, 2008 at 10:27 pm
There was a time, a few years ago, when I posted a message on the forums about trees with billboard oriented leaves and you said you thought it wouldn’t look good. I went on to reply that that’s how SpeedTree did it, and put together a little demo. Afterwards you conceded that it looked pretty good. I can’t find the original thread but here’s where you replied:
http://www.ogre3d.org/phpBB2/viewtopic.php?t=7233&highlight=tree
Oh how times have changed
September 18th, 2008 at 8:19 am
Looks very nice!
September 18th, 2008 at 8:50 am
@Falagard: what can I say, I’m always willing to be convinced
September 18th, 2008 at 3:08 pm
That. Looks. Amazing. I guess that even justifies the licence fee probably being higher than my last years salary, heh.
Great job, Steve! Looking forward to seeing this “in the wild”.
September 20th, 2008 at 1:59 pm
The URL sais 25M but the headline sais 2.5M. Quite a big difference. If you want to say 2.5M without using a dot, you can say 2M5. It’s not so common, but used extensively in electronics.
September 20th, 2008 at 2:12 pm
That’s because URLs can’t contain dots, and the slug is generated.