Page 1 of 5

OgreSpeedTree - v2.0 released, SpeedTree v5 support

Posted: Fri Aug 08, 2008 12:56 pm
by sinbad
Edit 15 September 2011: Development on OgreSpeedTree has been discontinued. The full source code is now available free if you contact your IDV SpeedTree representative, but without support.

Edit 9th October 2009: OgreSpeedTree 2.0 released, a major update to support SpeedTree v5.
Image

Original announcement:
Ok, finally time to let this one out of the bag :)

OgreSpeedTree is an upcoming commercial library from my company Torus Knot Software Ltd, designed to make it ridiculously easy to get awesome looking trees created with SpeedTree tools running fast in your Ogre applications.

Features:
:!: Gets realistic looking forests into your Ogre application with very little code
:!: Supports very large Forests with a progressive level of detail & batching system, meaning that close up you'll see incredibly detailed, normal-mapped trees while still being able to support a large draw distance
:!: GPU-based wind support
:!: Customised shaders supporting typical outdoor lighting models, integrated with Ogre's material system
:!: Dynamic shadow casting
:!: Written from the ground up to integrate tightly with the Ogre codebase, meaning existing Ogre code & plugins can co-operate with SpeedTree rendering
:!: Full source code available


FAQ:
:?: Will it be open source?
No. Even assuming that were commercially viable (and it might be, as dual-licensed GPL for example), we cannot distribute the code & shaders unless the recipient has a license for SpeedTree, since the techniques contained there expose their IP.
:?: When can I get it?
We're currently in a closed beta phase with early adopters as we refine the library. If you wish to be part of the closed beta, please email steve at torusknot dot com - please note you must sign up for a SpeedTree trial license first.
:?: Will there be a trial version available?
Yes. You must first become a trial licensee of SpeedTree, after which we can offer you a trial of OgreSpeedTree on the same terms.
:?: How much will the full version cost?
The full-source version with 3 months support will cost US$1495 per title (the same basis on which SpeedTree is licensed). You will also need to purchase SpeedTree.
:?: Isn't that a bit expensive?
That depends on your perspective - SpeedTree is a premium forest / foliage solution and is aimed at the upper end of the market; it is not a budget / mass-market solution and OgreSpeedTree's price reflects that. It is still much cheaper than doing the equivalent yourself.
:?: What are the hardware requirements?
Currently a card capable of shader model 2 is required (GeForce 5x00 / Radeon 9500 or better)
:?: How fast is it?
We're still tuning, on a current card you can expect 200-500fps in the above scenes, depending on the resolution and MSAA settings. You can tune the LOD settings for different classes of card.
:?: Can't I just modify the SpeedTree reference application code to work with Ogre?
Yes, but it operates entirely in immediate mode and won't integrate at all with the rest of Ogre. There is still a fair amount of work to do even to do a basic adaption. OgreSpeedTree lets you get started in as few as 10 lines of code and has been written from scratch to be well integrated with Ogre, thus is more future-proof and adaptable.
:?: How does this affect JohnJ et al's PagedGeometry work?
Not at all - OgreSpeedTree is specifically aimed at those who want to quickly use high-quality trees and foliage created with the SpeedTree tools. You can even use the two together if you wish.

I'm off to Siggraph next week, and I'll have a running version of OgreSpeedTree with me if you want to take a look at it. Drop me an email at steve at torusknot dot com if you're interested.

I'd like to thank IDV (creators of SpeedTree) for their co-operation in making this library possible.

Update: OgreSpeedTree 1.0 and OgreSpeedGrass are now out of beta and available for licensing.

SpeedTree® is a registered trademark of Interactive Data Visualisation, Inc. All rights reserved.

Posted: Fri Aug 08, 2008 1:50 pm
by spookyboo
Stunning 8)
I hope that it will be a success and that it puts Ogre even more into the spotlights.

Posted: Fri Aug 08, 2008 1:56 pm
by Praetor
I love speedtree. You never fail to please.

Posted: Fri Aug 08, 2008 2:41 pm
by syedhs
Totally cool - how can the thought escape me when I read your blog not too long ago..? :wink:

Maybe you will not do this since it is not directly related to SpeedTree, but any plan of integrating dynamic lighting of the trees ? Will you support dynamic shadow of the tree where you can see the leaves shadow moving on the ground. Further down, the shadow will be static as to save some FPS.

Posted: Fri Aug 08, 2008 2:49 pm
by sinbad
Dynamic lighting is already implemented, and the main shadows are dynamic too (if you could see it moving, you'd see the leaves rustling in the shadow). The branches & leaves are all normal mapped, as are the imposters.

There is also some pre-baked self-shadow information in there which means you can have relatively cheap self-shadowing within the same tree. Full depth shadow mapping will be added later (that's just simple shadowing for now) so you can go for the best quality on high-end cards.

Posted: Fri Aug 08, 2008 2:55 pm
by rewb0rn
Stunning! Especially the first screen is almost photorealistic. Too bad it will be commerical, allthough I probably would have made the same decision =) will there be a cheaper license for small developers, e.g. like there is for raknet?

Posted: Fri Aug 08, 2008 3:10 pm
by sinbad
rewb0rn wrote:will there be a cheaper license for small developers, e.g. like there is for raknet?
No, because you need to buy SpeedTree anyway (which costs more) so that doesn't make sense. I may however offer an option to pay a smaller up-front price plus the full price on publication, as is an option for SpeedTree (ie costs more in the long run, but gets you started cheaper).

Posted: Fri Aug 08, 2008 3:25 pm
by syd
congratulation!
That's definitely the right move for Torus Knot Software, and somehow, for the future of Ogre :wink:
how about a video to see it in action ?

Posted: Fri Aug 08, 2008 3:35 pm
by Samuelgames

Posted: Fri Aug 08, 2008 4:00 pm
by sinbad
Samuelgames wrote:Hmm..?
Yes, the Easy Company did their own SpeedTree integration for MOTORM4X, quite a while ago. I'm guessing this was based on the SpeedTree reference application. OgreSpeedTree will mean people don't need to reinvent the wheel, plus it's a ground-up implementation using Ogre fully (in contrast the reference application basically fires render commands at the underlying rendersystem directly), which means it plays a lot nicer with Scenemanager plugins and other Ogre first-party features.

Once I've had time to put a nice demo together I'll post a video, in the meantime my focus is on the core functionality.

Posted: Fri Aug 08, 2008 4:03 pm
by Falagard
Samuelgames wrote:Hmm..?
What's to Hmm about? Motorm4x did their own SpeedTree implementation in Ogre but didn't exactly share their source code did they? :-)

No one said that SpeedTree was impossible to integrate with Ogre, only that it would take you a certain amount of time to do it yourself.

If you're a game company and you're looking at using Ogre and integrating with SpeedTree, you look at the math. How many weeks would it take you (or would it take someone you're paying) to take the reference SDK that comes with SpeedTree and port everything to Ogre? If you could pay $1500 for an existing implementation and get it working in 10 lines of code, is the cost worth it? That's less than 2 weeks pay for most game programmers.

Posted: Fri Aug 08, 2008 4:28 pm
by madmarx
I find this product extremely interesting. It will be much easier for us to think at switching for good to Ogre now : most of our 3d trees are done with speedtree.

Question :

For the graphical workflow, are Speedtree specific files (seeds etc..) imported into OgreSpeedTree through a new ressource (that has been coded, and for example tested with background loading :wink:), or is it the client-programmer who must code / provide this part?

Posted: Fri Aug 08, 2008 4:50 pm
by stodge
Woah! That's awesome! :shock:

Posted: Fri Aug 08, 2008 4:55 pm
by sinbad
madmarx wrote:For the graphical workflow, are Speedtree specific files (seeds etc..) imported into OgreSpeedTree through a new ressource (that has been coded, and for example tested with background loading :wink:), or is it the client-programmer who must code / provide this part?
SpeedTree .spt files are loaded as resources (with their own ResourceManager, natch). You can also create variants with new seeds if you want, although bear in mind that the precalculated textures as exported from SpeedTreeCAD may be unrepresentative then. We also support loading of STF files, and I'm intending on adding SpeedGrass support soon.

The new resource type is written to support both background loading modes in Ogre v1.6, although I have not tested this yet.

Posted: Fri Aug 08, 2008 5:33 pm
by TWO
Ah, as we can see from the SpeedTree website, MOTORM4X is using it. Didn't knew that. That's why their environment looks so awesome :)

Posted: Fri Aug 08, 2008 6:41 pm
by Jabberwocky
Nice!

In my opinion, one of the great strengths of Ogre is the ability to incorporate different libraries and plug-ins to custom build the game engine you want.

I hope OgreSpeedTree meets with commercial success, to pave the way for the continued development of more of these types of libraries.

Free libraries are nice for small projects. But for any reasonably sized commercial project, paying for some well written and supported libs is a fantastic option. And having commercially successful projects built using Ogre is good for both Ogre, and all Ogre users.

Posted: Fri Aug 08, 2008 8:20 pm
by leonardoaraujo.santos
Caraca!!!!!!

Nice Job man!

Posted: Fri Aug 08, 2008 11:43 pm
by AngelOf
sinbad wrote:The Easy Company did their own SpeedTree integration for MOTORM4X, quite a while ago. I'm guessing this was based on the SpeedTree reference application. OgreSpeedTree will mean people don't need to reinvent the wheel, plus it's a ground-up implementation using Ogre fully (in contrast the reference application basically fires render commands at the underlying rendersystem directly), which means it plays a lot nicer with Scenemanager plugins and other Ogre first-party features.
Yes, we implemented the SpeedTree in a very basic way (based on the reference application, as Sinbad wrote).
This was quick and easy for us, but it also had many disadvantages. OgreSpeedTree seems much more usable.

In my opinion, this is a cool library for all teams intending to use SpeedTree with Ogre.

Nice work :)

Posted: Fri Aug 08, 2008 11:45 pm
by MattMihaly
Ahh, very sweet. I desperately wish SpeedTree could render trees in the cartoony style we use. I'd be all over this in a heartbeat.

Posted: Sat Aug 09, 2008 1:30 am
by Crashy
Really really nice. Too expensive for me(for the moment), but
definitely a greate addition to Ogre, and a proof Ogre has nothing to envy to commercial engines.

Posted: Sat Aug 09, 2008 1:10 pm
by oddrose
Great job as usual!

Posted: Sat Aug 09, 2008 4:01 pm
by jorrit5477
Great job, looking georgeous.
MattMihaly wrote:Ahh, very sweet. I desperately wish SpeedTree could render trees in the cartoony style we use. I'd be all over this in a heartbeat.
Ratchet & Clank: Tools of destruction uses speedtree (http://www.speedtree.com/gallery/?Page=87&Sort=0), which has quite a cartoony style I must say.[/url]

Posted: Sat Aug 09, 2008 6:11 pm
by Chris84
That looks great! Nice job.

Posted: Sat Aug 09, 2008 10:52 pm
by Nauk
Awesome news! Congratulations and godspeed for the Siggraph presentation :)

Posted: Sat Aug 09, 2008 11:32 pm
by ahmedismaiel
Congrats ,I like the screens
i guess i should throw my integration away :(
No,i still can try to compete in the price :D

btw ,any chance of having offset mapping and GPU Gems 3 effects out of the box?