Jump to content

  • Log In with Google      Sign In   
  • Create Account


colinhect

Member Since 09 Jul 2005
Offline Last Active Jul 23 2012 12:39 PM

Posts I've Made

In Topic: Texturing large terrain

17 July 2012 - 04:18 PM


After a quick skim this seems like a similar idea as mega texturing. The problem is that I can't have a large virtual texture because it would be too large to hand-paint/generate and store on disk. This is why I'm looking more at procedural splatting methods.

Mega/virtual texturing doesn't mean that everything must be hand painted.
You just create the data in whatever way you want instead of just loading it off disk. (splatting, procedural textures, baking GI data just in time.. etc.)

Battlefield 3 used splatting with virtual texturing quite nicely.
http://publications....attlefield3.pdf


Thanks for the reply. This is a great read and may be relevant to my project.

In Topic: Texturing large terrain

17 July 2012 - 12:29 PM

Thanks for the replies.

Google: Texture Mipmap Quadtree You may find this to be a good read: http://www.realityprime.com/articles/how-google-earth-really-works


After a quick skim this seems like a similar idea as mega texturing. The problem is that I can't have a large virtual texture because it would be too large to hand-paint/generate and store on disk. This is why I'm looking more at procedural splatting methods.

Why do you need to texture the terrain, you could just color it according to something like vertex height from sea level. You could also add some modifiers like this area is dirt and this grass. Then you place all your rocks, grass, pushes, trees on top of the terrain. Though i am not sure how it would look, because i have not implemented large terrain like that yet, but been playing with the idea quite much in my head and done quite much calculations, but realized that I can not create map of earth at 1 x 1 meter triangle resolution, even if the client would not need to load all of it at once, but the server would.


This would not be acceptable. I could have much better results by just selecting the texture in a pixel shader based on height/slope with some added noise (see here). But that method isn't desirable because the textures will still tile noticeably and the sharp edges between textures doesn't look very good. Also, there is noticeable popping between terrain LOD levels.

Anyway at that scale you will run out of memory quite fast if you want to texture the whole terrain at once.


I'm not looking to have a unique pixel for every centimeter of the map. I'm looking for some sort of procedural technique of texturing the terrain in a way that tiling is not obvious and can look good from near and far.

In Topic: Texturing large terrain

17 July 2012 - 11:08 AM

Thanks for the input.

The main advantage of megatextures is that you can keep a small portion of a very large virtual texture on the GPU at a given time. While this would solve the tiling issues it would be nearly impossible to hand-paint 65km x 65km at a decent resolution. And if it wasn't hand-painted then it might as well be procedural per-tile on the GPU at runtime (no disk-space usage). To have 1 pixel per ~0.4 cm (decent texture resolution) would be 768 terabytes as 24bit uncompressed. So I don't think megatextures would work on this scale.

In Topic: Terrain Generation with Plate Tectonics

11 April 2012 - 01:54 PM

However, I was thinking that the output from tectonic generator could be used as a template for fractal generator. E.g. take a 128*128 map, scale it by 4 and fill 75% of the map with such fractals that they preserve the original 25% of the heightmap data ("corner points"). This might result in very detailed maps that have quite realistic landforms very fast. But, i haven't tried it out yet. Should'nt be too difficult to do. If there's interest, I might try to find time to do it and tell you how it turned out.


Outerra renders an entire planet using real-world elevation data for low-resolution and fills in details using fractal algorithms. I believe they are interested in eventually supporting completely procedural planets as well. The low-resolution data could easily be generated using an algorithm similar to yours to provide more realistic continent-level terrain while still providing details via fractals.

In fact, I'm sure this would generate some interest by the Outera devs and community if you were to post this in their forums.

In Topic: Terrain Generation with Plate Tectonics

09 April 2012 - 03:48 PM

It seems to me like even the most naïve model of plate tectonics is able to produce more convincing heightmaps than conventional fractal based methods. That's why I'm really wondering why it's not used in more projects?


Fractal-based methods are often used because it is fast enough to be computed on the fly for procedural terrain (see Minecraft). For extremely large scale terrain you simply can't have all of the terrain in memory (see I-Novae). This is the main reason why fractal-based methods will continue to be very popular.

Your work looks awesome. I don't have time to read your thesis though. Do you have any rough numbers on how long it takes to simulate and what resolution height-maps it can run in reasonable time?

PARTNERS