OgreSpeedTree - v2.0 released, SpeedTree v5 support
- oddrose
- Orc
- Posts: 470
- Joined: Thu Feb 15, 2007 2:08 pm
- Location: Gothenburg, Sweden
- Contact:
- sinbad
- OGRE Retired Team Member
- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 66
- Contact:
I have no idea OgreSpeedTree just takes the results and makes them work real fast with Ogre.scroogie wrote:Looks great. Just out of curiosity, what kind of geometry generation does SpeedTree use? Is it similar to Prusinkiewicz´ algorithmic botany?
Hehe, TBH WindLight would be enough for this, unless you had trees tall enough to make fully volumetric clouds useful (mountains maybe, but then normally there aren't that many trees that far up). But, neither of those are owned by me so I can't.oddrose wrote: can't you toss in some shots of SpeedTree together with Nimble?
I want to do some nicer demos later, add some HDR and some terrain etc. For the moment I've just been concentrating on the core, if you're keeping up with my blog you will have seen that it's now even faster, I've had thousands of trees and millions of blades of grass in one scene at great frame rates, that kind of thing is my focus for now.
-
- Halfling
- Posts: 72
- Joined: Thu Jul 12, 2007 5:39 pm
- Location: berlin
- sinbad
- OGRE Retired Team Member
- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 66
- Contact:
-
- Ogre Magi
- Posts: 1120
- Joined: Wed Nov 15, 2006 7:41 pm
- Location: Finland
- x 5
The grass rendering distance is quite low in some new-ish games I have seen, for example in Armed Assault the limit can be clearly seen also on powerful computers. The game does so much other things that the grass cannot take much processing power, it has a low priority.
Of course if the only purpose of the program is to render grass, then you can put much more of it to the screen at once.
Of course if the only purpose of the program is to render grass, then you can put much more of it to the screen at once.
- sinbad
- OGRE Retired Team Member
- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 66
- Contact:
I managed quite a lot here:
Not quite to the horizon, but certainly far enough that you can't tell it's not unless you fly high.
*edit: actually kinda hard to tell in the video how far the grass goes, here's a still:
The gras goes pretty much as far as the shadows do, which is in this shot almost to the horizon, at least as much as you can see with all the damn trees in the way
There are trade-offs of course, by elevating the viewpoint to show you that, I've also made it easier to see the gaps between the blades more easily. At a more 'human' height to the ground, you can see them less. At that point you only need this kind of grass distance if you're on a hill, because you really can't see it end and in a way it's wasted.
Not quite to the horizon, but certainly far enough that you can't tell it's not unless you fly high.
*edit: actually kinda hard to tell in the video how far the grass goes, here's a still:
The gras goes pretty much as far as the shadows do, which is in this shot almost to the horizon, at least as much as you can see with all the damn trees in the way
There are trade-offs of course, by elevating the viewpoint to show you that, I've also made it easier to see the gaps between the blades more easily. At a more 'human' height to the ground, you can see them less. At that point you only need this kind of grass distance if you're on a hill, because you really can't see it end and in a way it's wasted.
- bishopnator
- Goblin
- Posts: 223
- Joined: Thu Apr 26, 2007 11:43 am
- Location: Slovakia / Switzerland
- x 5
Hi, I made my own wrapper for speedtree and speedgrass in our project. I had some problems with integration:
* performance
* memory
* speedtree color tunning (different output from speed tree cad and trees rendered in ogre)
* dynamic shadows
Could you write me some details about performance and memory usage? Ie. how fast runs speedtree reference application and same forest in ogre on your computer configuration? What memory is needed for 2.5M grass blades in ogre?
* performance
* memory
* speedtree color tunning (different output from speed tree cad and trees rendered in ogre)
* dynamic shadows
Could you write me some details about performance and memory usage? Ie. how fast runs speedtree reference application and same forest in ogre on your computer configuration? What memory is needed for 2.5M grass blades in ogre?
- sinbad
- OGRE Retired Team Member
- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 66
- Contact:
I still have some more profiling to do, but at present the Reference Application still wins (OgreSpeedTree runs at about 2/3rds of the speed of the refapp with a similar sized scene). To some degree this is inevitable, the Reference Application is highly special-cased and drives DirectX / GL directly 'at the metal' with none of the niceties, so I'm highly unlikely to be able to equal it via Ogre, although the aim is to get closer.
Memory usage is very much down to configuration of the scene. Tree meshes are shared between all instances and so you only have one copy of those in memory. Renderables for the trees and their billboards are pooled, so that as forest cells go in and out of usage, their renderables get re-used by other cells that are in use. Tweaking the cell sizes and LOD distances can lead to different blends of pool usage.
Currently grass cells are not being pooled, that's currently leading to a higher memory overhead for the grass, but I'm due to resolve that this week. Once that's done they'll be similar to trees, with a shared pool of renderables which swap out as the camera moves, meaning the max GPU memory usage is derived from the size of the cells and the size of the grass region around the camera.
If you want more detail you'll have to wait until I've reinstalled the instrumented drivers on my machine, which I plan to do later this week. Last time they made my machine very unstable which is why I don't have them installed right now.
Memory usage is very much down to configuration of the scene. Tree meshes are shared between all instances and so you only have one copy of those in memory. Renderables for the trees and their billboards are pooled, so that as forest cells go in and out of usage, their renderables get re-used by other cells that are in use. Tweaking the cell sizes and LOD distances can lead to different blends of pool usage.
Currently grass cells are not being pooled, that's currently leading to a higher memory overhead for the grass, but I'm due to resolve that this week. Once that's done they'll be similar to trees, with a shared pool of renderables which swap out as the camera moves, meaning the max GPU memory usage is derived from the size of the cells and the size of the grass region around the camera.
If you want more detail you'll have to wait until I've reinstalled the instrumented drivers on my machine, which I plan to do later this week. Last time they made my machine very unstable which is why I don't have them installed right now.
- Edman
- Silver Sponsor
- Posts: 76
- Joined: Fri Jun 30, 2006 6:57 pm
- Location: Prague, Czech Republic
- Contact:
Diskworld
I saw it! I saw the end of the world in the video It was there just for
a short time but I saw it, I knew world was not a sphere!
This looks all pretty amazing, knowing how many problems we had to
hustle SpeedTree into our project. Such a shame that these things
always come after we're finished
a short time but I saw it, I knew world was not a sphere!
This looks all pretty amazing, knowing how many problems we had to
hustle SpeedTree into our project. Such a shame that these things
always come after we're finished
"Threehandled Mosscovered Gredunza"
-
- Bronze Sponsor
- Posts: 153
- Joined: Mon Jul 31, 2006 8:29 pm
- Location: France
- x 7
- Contact:
- sinbad
- OGRE Retired Team Member
- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 66
- Contact:
We're out of beta!
New screenshots and a more varied video available on the official OgreSpeedTree page.
New screenshots and a more varied video available on the official OgreSpeedTree page.
- Mads Kruger
- Gnoblar
- Posts: 21
- Joined: Wed Sep 24, 2008 11:19 am
- Location: Denmark
- Nauk
- Gnoll
- Posts: 653
- Joined: Thu May 11, 2006 9:12 pm
- Location: Bavaria
- x 36
- Contact:
Very beautiful and immersive!
ARTIFEX TERRA 3D - Artist-friendly, free and easy WYSIWYG realtime outdoor scene Editor & Painter
New loader now with Ogre::Terrain support: Addons for Artifex on SourceForge
MOC - Minimal Ogre Collision & Mousepicking
Simple TerrainMaterialGenerator for the use of standard Ogre material with Ogre::Terrain
Support me on Patreon
- sinbad
- OGRE Retired Team Member
- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 66
- Contact:
Thanks. The video was taken on my NVIDIA 9800 GX2 which manages a solid 75-100fps with that density / LOD settings. The settings are pretty high though so if you needed to target lower end machines it's a case of pullling in the tree LOD and reducing the distance / density of the grass. You could also make the shadows a little less expensive (currently real-time PSSM with 3 shadow textures).Mads Kruger wrote:Its looking really snappy! Not that i have any use for this lib just now, but just out of pure curiosity; do you have any performance charts?
- KungFooMasta
- OGRE Contributor
- Posts: 2087
- Joined: Thu Mar 03, 2005 7:11 am
- Location: WA, USA
- x 16
- Contact:
While it does look good, I think the trees could use some bump mapping. The textures are great, and it feels like the tree surface should be bumpy, but the sides are so smoothed out, the trunks just look like billboards to me. (just being honest )
Creator of QuickGUI!
- Halifax
- Halfling
- Posts: 49
- Joined: Sun Nov 18, 2007 10:30 pm
That's true. I agree with that. It would also bring it to the level of Unreal Engine 3 when rendering with SpeedTree.KungFooMasta wrote:While it does look good, I think the trees could use some bump mapping. The textures are great, and it feels like the tree surface should be bumpy, but the sides are so smoothed out, the trunks just look like billboards to me. (just being honest )
- sinbad
- OGRE Retired Team Member
- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 66
- Contact:
Actually all the trees and leaves have normal mapping on them already. The effect is fairly subtle though and you can only really tell close up, since the grain is quite small.
Here's an example:
The detail is too small to see in the video and close ups of barks don't really show off the scale involved I'm just using the standard SpeedTree sample media here, you can of course build trees with more exaggerated normal mapping which is what you generally see on the UE3 demos.
Here's an example:
The detail is too small to see in the video and close ups of barks don't really show off the scale involved I'm just using the standard SpeedTree sample media here, you can of course build trees with more exaggerated normal mapping which is what you generally see on the UE3 demos.
- Game_Ender
- Ogre Magi
- Posts: 1269
- Joined: Wed May 25, 2005 2:31 am
- Location: Rockville, MD, USA
How close have you gotten compared to the SpeedTree reference implementation? (Earlier you said you were at 2/3rds the speed).
Robotics @ Maryland AUV Team - Software Lead
- Glajan
- Kobold
- Posts: 39
- Joined: Tue Sep 09, 2008 7:15 am
- Location: Sweden
- Contact:
- sinbad
- OGRE Retired Team Member
- Posts: 19269
- Joined: Sun Oct 06, 2002 11:19 pm
- Location: Guernsey, Channel Islands
- x 66
- Contact:
In terms of features, I've improved on the reference implementation in quite a few areas, such as support for dynamic shadows, grass motion enhancements, support for alpha to coverage, runtime flexible shaders, and more. AFAIK OgreSpeedTree does everything the refapp does, plus more and is a damn sight easier to use.Game_Ender wrote:How close have you gotten compared to the SpeedTree reference implementation? (Earlier you said you were at 2/3rds the speed).
It doesn't run quite as fast under the same scenario, but I'm 90% sure thats almost all down to the fact that the refapp is totally special cased & hardcoded direct to Dx9 / GL, which I can't possibly equal with a 'proper' Ogre implementation which lets you use all the normal material options, queue organisation etc. It's definitely still fast enough though, and I may find opportunites to make it still faster in future.
- petrocket
- Gremlin
- Posts: 178
- Joined: Tue Mar 20, 2007 3:29 am
- x 10
- Contact:
Re: OgreSpeedTree - 1.0 released, new shots & video
One thing I'd like to see is what it looks like when the terrain is more rolling - like when you're half way up a hill or on top of a hill and looking out on other hills, and mountains covered in trees and grass
- kutraj
- Halfling
- Posts: 61
- Joined: Mon Dec 15, 2008 2:25 am
Re: OgreSpeedTree - 1.0 released, new shots & video
Looks fantastic! Congrats on the release!
- iloseall
- Gremlin
- Posts: 156
- Joined: Sun Sep 14, 2003 3:54 am
- Location: Beijing China
- Contact:
Re: OgreSpeedTree - 1.0 released, new shots & video
1,
I want to try use SpeedTree 5.0 (now is beta) with ogre in our project.
I has got the enaluation lisence from idv.
How can I got enaluation OgreSpeedTree?
Need send the SpeedTree Lisence to sinbad?
We should got the SpeedTree SDK source code after few months because :
from idv replay:
2,
Can OgreSpeedTree use with speedtree 5?
3,
My project use Deferred shading.
Can OgreSpeedTree render CForestRI<> to GBuffer?
Thanks a lot.
edit:
for question 1:
thanks jacmoe:
I want to try use SpeedTree 5.0 (now is beta) with ogre in our project.
I has got the enaluation lisence from idv.
How can I got enaluation OgreSpeedTree?
Need send the SpeedTree Lisence to sinbad?
We should got the SpeedTree SDK source code after few months because :
from idv replay:
Can OgreSpeedTree use without Speedtree SDK Source Code?As discussed, I am sending you instructions for evaluating 4.2 and 5.0.
Our new version 5.0 is not yet available for license but should be in a few months
2,
Can OgreSpeedTree use with speedtree 5?
3,
My project use Deferred shading.
Can OgreSpeedTree render CForestRI<> to GBuffer?
Thanks a lot.
edit:
for question 1:
thanks jacmoe:
Use this contact form http://www.torusknot.com/contact.php