4.7 trillion triangles rendered

Started by Oshyan, June 20, 2009, 04:10:03 am

Previous topic - Next topic

Oshyan

June 20, 2009, 04:10:03 am Last Edit: June 20, 2009, 04:15:28 am by Oshyan
I thought I'd do a few tests to try and find the limits of what TG2 can currently do as far as populations go. I'm pretty sure I could go even further than this, judging by the memory footprint, but here's what I achieved so far:

Here are the scene details:
Earth-sized (default) planet
Extreme (15,000 meters) displacement terrain
Object: Shagbark Hickory, 280,000 tris
16,777,000 trees
4.7 trillion tris total
6min 15sec to populate (not included in render times)
1000+km view distance
Detail 1, AA6, GI 2/2, Very High Pop Detail
Peak memory usage when rendering: 3.1GB

Computer System:
Core 2 Quad Q6600
2.4Ghz x 4 cores
8GB DDR2
Windows 7 RC1 (build 7100)

[attachthumb=1]
Full render - 2hrs 4mins

[attachthumb=2]
Without atmosphere - 48mins 6secs

[attachthumb=3]
Without objects (terrain only) - 5mins

[attachthumb=4]
Without terrain (flat planet, for reference) - 4mins 19secs

[attachthumb=5]
3D preview with instance previews enabled!

Notice how little difference there is between the render with and without terrain displacement. TG2 is quite efficient at rendering large amounts of complex displacements. Clearly atmospherics are far more demanding, and hopefully there is more room to optimize there.

Interestingly I actually rendered in 2.0.1.1 initially - the first TG2 final release available. Render times in that version were 3 hours, 30 minutes! Nearly an hour and a half longer. As many of you know we were able to make a significant optimization after release, and there was much discussion about that around that time. It's interesting to see this particular example of it though. It applies very specifically to the atmosphere as the render time without atmosphere was very similar. The rendered result looked very similar visually, with just some slight changes in grain.

Anyway I thought some of you might get a kick out of how far I was able to take this. Maybe I'll make this into an actual, interesting scene at some point...

- Oshyan

FrankB

That is all very interesting, Oshyan.
Do you really think that so many polys were actually calculated? I doubt it, otherwise TG2 could not be very efficient.
For example, if the tree object has 280k polys, when rendered from 1000km away, there's only a subpixel of it left to see. Tg2 must be simplifying/sampling the geometry of the trees for distant instances - a lot.
We know this from populated scenes in general: objects far away are almost spitted at the screen in one shot, whereas the instances close to the camera take a notable while to complete.
What these numbers tell me, though, is that the instancing algorithm(s) is pretty memory effective!

Regards,
Frank

Goms

It would be great, if the Render with the Objects would take as long as the one without. ;)
Maybe TG2 could notice, that the Object is very small and, lets say, replace it somehow?
when its far away, a tube with a sphere could be enough for a tree, if anyone understands what i mean.
anyway.
Quote from: FrankB
you're never going to finish this image ;-)

Tangled-Universe

Quote from: Goms on June 20, 2009, 05:43:39 am
It would be great, if the Render with the Objects would take as long as the one without. ;)
Maybe TG2 could notice, that the Object is very small and, lets say, replace it somehow?
when its far away, a tube with a sphere could be enough for a tree, if anyone understands what i mean.
anyway.


Well this is more or less what Frank is saying. It seems that TG2 adjusts the level of detail over distance and thus more or less simplifies the object to make it render faster but still representative. Like Frank I hardly believe TG2 actually renders all those triangles.

domdib

No matter the technical details, I think the final one is a pretty cool render  :)

Oshyan

Yes, of course you are correct Frank. Perhaps the title is misleading. *However*, this is exactly the same way everyone in the industry refers to their scenes. People often quote the billions of polygons they're rendering and others are just as often impressed by it. I thought I'd join the party. ;) But pretty much all renderers "cheat" to make this work.

TG2 and pretty much any other modern renderer does a lot of "simplification" (for lack of a better word) to render large amounts of data accurately, without actually "rendering" everything that the scene consists of. This is true not just of imported object geometry though, it's also true of terrain. Terrain displacement is computed as micropolygons, essentially for a consistent screen-space resolution. If I'm animating a scene, something that is in the foreground of my scene may effectively have "10,000 micropolygons per meter" in the scene scale, while the background has only "10 micropolygons per meter". But if I fly up to the mountain in the background and view it at close range, it too will then be calculated with effectively more micropolygons per meter. This is all a gross simplification, but hopefully you get the idea.

I just thought it was interesting to see just how efficient the optimization processes are. Evidently pretty efficient. :)

- Oshyan

Mohawk20

You are a madman for trying!
I like that  :P

I have been known to do similar experiments, but as my pc is at the lower end of the 'newness' spectrum by now, it's not that good a tool, as 3Gb of ram total leaves just 2Gb for rendering.
Howgh!

rcallicotte

Terragen 2 has quite a renderer, Oshyan.  I'm glad you're showing us what it can do.  Now...on to animation...   ;D
So this is Disney World.  Can we live here?

Jack

thats pretty cool!!! I have noticed hoe much terragen has speeded up I rarely get a render that takes over 5 hours these days ;D
My terragen gallery:
http://wetbanana.deviantart.com/

Oshyan

I'll see about an animation. The detail on this one was probably higher than you'd need for an animation (detail 1), although AA would need to be increased for proper motion blur. An animation starting at this altitude and diving down into the trees would be cool...

- Oshyan

neuspadrin

Quote from: wetbanana on June 21, 2009, 12:52:20 am
thats pretty cool!!! I have noticed hoe much terragen has speeded up I rarely get a render that takes over 5 hours these days ;D


I think its a mix of learning how to use render quality settings to what they should be at, and Terragen getting faster as a renderer.  As I know as I go I learn more tricks to keep quality up but render time down.

Mandrake

This is instancing with this render correct? I don't think you calculate polys with true instancing the same as counting millions of separate tree models.

Jack

how many polygons is 4.7 trillion triangles?
My terragen gallery:
http://wetbanana.deviantart.com/

Mandrake

two triangles will melt to one quad

Matt

June 21, 2009, 09:48:15 pm #14 Last Edit: June 21, 2009, 09:51:58 pm by Matt
A triangle is a polygon, just a 3-sided polygon.

Some objects might consist of quadrilaterals or polygons with even more sides, which would be converted into multiple triangles. So the original object might consist of a lower number of polygons than triangles, but it depends on the object. Many objects are made mostly of triangles anyway.

Matt
Just because milk is white doesn't mean that clouds are made of milk.