Question: TG 2 Limits and Import of large Triangle Networks (Gigapixel DEMs)

Started by epsilon, August 07, 2010, 06:08:08 PM

Previous topic - Next topic

epsilon

Hi all,

I'm currently evaluating 3D rendering programs for usage in a project that involves rendering photorealistic views of large DEMs with billions of height values.

I am aware that Terragen is mainly intended for procedurally (i.e. on-the-fly) generated terrain so I would not expect it to directly handle such large height fields of 2+ Gigapixels (but maybe in the upcoming 64 bit version ?)

On the other hand I thought it would nevertheless be possible to first generate a view and level-of-detail (LOD) dependent triangle mesh (TIN) from the large DEM (which I am processing with a suite of self written 64-bit software running on 12 Gig physical RAM hardware) and then import into terragen the view-dependent, LOD-decimated TIN, which now after frustum and LOD culling etc, "only" consists of, say, 100 million or so triangles.  
(Then within TG I would still use the great procedural capabilities of TG to add even more "virtual" detail to the imported traingle mesh.)

So the question: is it possible to import irregular triangle networks in the order of 100-200 millions of triangles into TG ?
(I have found the option to load DEMs/images as regularly spaced height fields, e.g. from geotiff but that's not quite what I am looking for (unless it would be possible to load the whole 2+ Gigapixel height field at once)

Thanks a lot for any answers,
 eps.



cyphyr

Most of what your saying goes way over my head :)
However the free version has no limitations regarding the size or complexity of imported dems.
Give it a try
Terragen 2 demo
:)
Richard
ps let us know how it goes :)
www.richardfraservfx.com
https://www.facebook.com/RichardFraserVFX/
/|\

Ryzen 9 5950X OC@4Ghz, 64Gb (TG4 benchmark 4:13)

Hetzen

TG works best on Heightfields. The closer you can get a pixel to represent the scale your camera is working on, the better your result.

I wouldn't look at TG at trying to distort a mesh. I'd look at TG creating a better mesh from your working proxy. And by mesh, I mean a final displacement.

Oshyan

What is the source of the data and what size of real world area does it cover? What is the size of the source file(s) in MB/GB? Likely, for either the image or geometry version, you would need a 64 bit version of TG2 (and OS, of course). A 64 bit TG2 is not yet publicly available but we have it in development and it will be released as a free upgrade to registered users in the future.

- Oshyan

bigben

If you're only looking at rendering a particular location it is possible to produce terrains files of varying size/resolution and then mask them in TG to artifically create the distance/LOD you want.

e.g. http://forums.planetside.co.uk/index.php?topic=1843.0 This is one of my early tests. 4x10m resolution terrains for the main canyon and then decreasing resolutions for the surrounding areas.

or this... http://forums.planetside.co.uk/index.php?topic=2409.0... seeing how broad a terrain I could make.

epsilon

Thanks for the answers !

Oshyan wrote:
> What is the source of the data and what size of real world area does it cover? What is the size of the source file(s) in MB/GB?

original DEM data is about 2 billion samples at 32 bit floating point precisison (plus material/texture layers) so we are talking
about around at least 4 but up to maybe 20 gigabytes file size.
As most of the big 3D programs apparently are not yet 64 bit ready, I wrote my own 3D software tool suite in C++ for processing the DEM data on my 64 bit hardware (Windows Vista 64, 12 Gig RAM).
With this software I am able to do basic raycasting renders and geometric transformation of the large DEMs.
However, although my program already handles the basic 3D tasks, I really would like a specialized Program like Terragen for the final production visualization render/shader pat of the project to take advantage of the many advanced shader features and presets/plugins that I don't want to re-invent from scratch ;-)  

So the idea is as follows: For each render I would first generate a view-dependent triangle mesh (TIN) that only contains the triangles necessary for the current view at the current level of detail: this would be "only" around 100 Million instaed of the original 2 Billion polygons.

So all I need would be a possibility of importing a (sufficiently large) *irregular* triangle mesh into Terragen.
I have already installed the free trial version and read through the manuals and Wiki but I only found the possibility to load a *regular*
DEM as the initial height field into Terragen.
But although I didn't find it in the docs yet I'm sure there must be a possibility  to simply import an arbitrary triangle mesh into TG.
If so, what would be the maximum size of the triangle mesh ?
Would it be only limited by the available machine address space (i.e. 2-4GB on 32 bit platforms) ?
 
bigben: your work sounds very interesting and I'm certainly going to read through it in more detail.
However: from the first look at it it seems that you are using nested/tiled hierarchies of *regular* grids, right ?
Actually this is similar to the processing chain of my original DEM software (which also handles nested grid pyramids to cover
terrain from  200 kilometers down to sub-meter scale)  
What I would like to do is to generate a s maller, temporary view dependend sub-model of the large grid hierarchy outside of terragen first, which could then be imported for rendering views in Terragen.
This sub-model would, however, not be aregular grid any more but rather a highly irregular spaced triangle network.

Thanks again everyone for any answers,
 eps.


 





 



FrankB

What I don't understand is *why* you need all this in the first place? Your eyes will only be able to look that far, and you really only need high-res terrain data for the first few kilometers at max.
Why go through all this strain and waste time with loading masses of data that won't be rendered anyway, or at least won't be larger than a subpixel in the final render?

Frank

Oshyan

Is it being animated, or is this just for stills? You can import geometry in either LWO or OBJ format, but it can't be treated exactly like terrains can. You can texture it for example, but objects are currently less tolerant of displacement than terrains (which can be massively affected by strong displacement), and you can't populate other objects onto a terrain object; you'd need to use an actual terrain, either heightfield or procedural. So there are some limitations.

If it will accomplish your goals, I think using a heightfield of sufficient resolution would be ideal as it will give you the most terrain-specific functionality and flexibility. BigBen's methods have proven quite functional.

- Oshyan