IDV yesterday issued a press release on speedtree.com announcing OgreSpeedTree We’re also in their gallery and (currently) also on their front page. I’m rather pleased! I do however feel the pressing need to come up with some better screenshots, including HDR and some more interesting terrain.
As always my thanks go to Kevin Meridith from IDV for his assistance throughout this whole process.
A few people asked for an OgreSpeedTree video with more varied scenes, and I’ve now uploaded one to the OgreSpeedTree section of the Torus Knot site. Just scroll down below the screenshots if you want to view the video.
I have a higher resolution & better quality version (this one is H.264 at 1Kb/s) but I’ve kept this one small for now to keep my bandwidth under control. Places like Vimeo don’t allow commercial advertising, and while before I could get away with claiming it was just in-development test output shared with enthusiasts only, this is really an advertisement video so I’m hosting it myself. I have enough bandwidth to spare unless something really goes bonkers (I think) - in case it does, does anyone know of any reasonably priced business media hosts (UK only), should I need something more than just upping my bandwidth allowance? I’ve seen a few dedicated streaming media hosts around but don’t have a view on how good they are.
OgreSpeedTree 1.0 entered RC1 a week ago and I haven’t had any reports of any issues, so I’m pretty much ready to stick a fork in it & declare it done for now. I’ve been improving OgreSpeedGrass this week, such as making the grass paging re-entrant so that new cells can be filled gradually to spread the buffer update overhead over many frames, that seems to have helped in busier scenes. That just needs a couple more utility functions for loading in grass distributions from tools, then that will be done too. Then, it’ll be time to get the marketing wheels moving…
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.
Next in the line of OgreSpeed* products, here’s a shot of OgreSpeedGrass.
It’s based on IDV’s SpeedGrass but I’ve rewritten a fair amount to make it work conveniently with Ogre, and also improved it somewhat - such as better wind effects and the completely dynamic lighting and shadowing you see there, which I think looks rather nice.
OgreSpeedGrass will be bundled with a yearly support agreement for OgreSpeedTree, in the same way that the original SpeedGrass is licensed. I’m not looking for any additional beta testers right now, but there will be an official 1.0 release of both these libraries by the end of the month; if you’d like to be notified when that happens, please email enquiries at torusknot dot com.
Yes, this is the extra library project I’ve been working on recently:
There are more details in my OGRE Forum post, but I’m pretty sure you can guess what it does I’m pretty pleased with the shots & speed so far, although I’m refining it more all the time. I’m currently in a closed beta phase with a client, so no demos yet.
I’ve written this in partnership with IDV (creators of SpeedTree), who have been very helpful. I’ve spent quite a bit of time on doing this ‘right’, choosing to take the high road of writing a completely native Ogre implementation from scratch rather than adapting the reference application, and I hope that over time, SpeedTree and OgreSpeedTree will become components of choice for those Ogre users who are looking for top-quality foliage rendering.
I’ll have this with me at Siggraph if you want to see it running, just drop me an email at steve at torusknot dot com.
SpeedTree® is a registered trademark of Interactive Data Visualisation, Inc. All rights reserved.