Unity Community


Page 1 of 4 123 ... LastLast
Results 1 to 20 of 73

  1. Location
    Montreal, Quebec
    Posts
    240

    LandForge - DX11 Procedural Terrains

    Hi there!

    The dx11 contest is finally over, so let me present what I've been working on these past weeks.



    LandForge is a procedural terrain generator utilizing the power of DirectX 11 to create huge terrains instantly.

    Advanced noise functions, normal maps, ambient occlusion maps and splat maps are entirely generated on a compute shader. The terrain is also displaced with the help of a tessellation shader, for maximum detail.

    There is no collision detection at the moment, but the generated vistas can already be used for flight sims or other similar games.

    The package uses the SilverLining skies from Sundog Software. The original music was composed by my girldfriend, Kim Derome (http://kimderome.com/) for this project.

    Hope you enjoy the video!
    Last edited by jesta; 01-16-2013 at 09:04 PM.
    Turbulence Library - Massive collection of procedural noise on the GPU


  2. Posts
    141
    Really beautiful work! Couple questions for you if you don't mind:

    Is the noise information generated at run-time and stored, or are you generating it on the fly?
    If the latter, i'm curious as to what you've found to the limitation on the number of 'passes' in constructing your shape. Have you been able to squeeze in anything resembling a weathering model into the generation, or are you trying to pick noise combinations that get you close to a desired shape without any extra processing?

    Anywho, really evocative demo. So glad to see such eye candy coming out of the competition.


  3. Location
    Montreal, Quebec
    Posts
    240
    Thanks xenius!

    I did not have time to put basic thermal and hydraulic erosion for the contest, but my current tests suggest that droplet erosion on a compute shader isn't that demanding.

    I didn't even use noise combinations and transformations for the shapes in my video. I used value, perlin and simplex noise derivatives to generate some really interesting effects. Noise operations will be supported of course, and I'm very eager to see what kind of shapes people will come up with .

    As for your first question, I'm not sure I understand the difference between "run-time" and "on the fly". The noise is generated at run-time with a given seed and offset, and it is stored in a RenderTexture that is sampled in a shader.

    Edit: Oh and by the way, good job on TC particles! .
    Last edited by jesta; 01-16-2013 at 09:45 PM.
    Turbulence Library - Massive collection of procedural noise on the GPU


  4. Posts
    141
    Very interesting. Does that mean that over a span of X meters/kilometers the terrain will eventually topologically repeat at all?

    Thanks much btw, I'll have a post up soon about our demo. The results of the last week crunch are that I'm now quite ill.

    Oh, and do you intend to build a full terrain module out of this for the asset store?
    Making games with the fine gentlemen at http://rustltd.com/


  5. Location
    Montreal, Quebec
    Posts
    240
    I'm using a very fast 32 bit hashing function to seed the noise, so the the patterns virtually never repeat.

    And yes, my intention is to make a full-fledged procedural terrain module for the asset store .

    Hope you recover soon!
    Turbulence Library - Massive collection of procedural noise on the GPU


  6. Location
    USA
    Posts
    3,097
    Looks very nice. Makes me show my age by saying that it reminded me of `Vista` on the Amiga which would take hours to render a single frame of a 3d landscape after taking several seconds to generate a small noise-based topography. Very nice to see it running so smooth and detailed.

    Now, if you make this capable of mapping onto a sphere to create an entire plan that you can fly out of and very close into plus land on and have collisions, you're onto a major winner.
    - ImaginaryHuman -

    NEW Mouse Path Animator - Mouse movement recording/playback - only $15!
    NEW Animated Dissolves for Shader Forge - Starting at $10!
    NEW Refract2D - Realtime refractions, reflections, image-based lighting, image distortions - ON SALE $25!
    Also Gradient Shader Pack - Realtime-generated animatable gradients - $20.
    Also Shader Wizard - CG Shader Generator including photoshop-style multi-texturing - $20.
    Also Texture Helper - procedural texture/pixmap-handling scripts - $10.


  7. Location
    Montreal, Quebec
    Posts
    240
    That's the plan . Thanks for the kind comments!
    Turbulence Library - Massive collection of procedural noise on the GPU

  8. ZJP ZJP is online now

    Location
    GMT -4/-5
    Posts
    1,321
    Now, if you make this capable of mapping onto a sphere to create an entire plan that you can fly out of and very close into plus land on and have collisions, you're onto a major winner.
    +1


  9. Location
    Liverpool, UK
    Posts
    368
    Great video and project! This competition has really brought in some heavy competition!


  10. Posts
    402
    Very cool! Thanks for the insights.
    Reminds of a GPU Gems article: http://http.developer.nvidia.com/GPU...ems3_ch01.html

    It would be awesome if you could implement a marching cubes geometry shader, to have full on 3D terrains. I can imagine that makes collision even more complex, though. Great work!


  11. Location
    Liverpool, UK
    Posts
    368
    Quote Originally Posted by p v loon View Post
    Very cool! Thanks for the insights.
    Reminds of a GPU Gems article: http://http.developer.nvidia.com/GPU...ems3_ch01.html

    It would be awesome if you could implement a marching cubes geometry shader, to have full on 3D terrains. I can imagine that makes collision even more complex, though. Great work!

    The problem with GS marching cubes is that it's way slow! Histo pyramids marching cubes is much faster, and it only requires SM3!


  12. Location
    Montreal, Quebec
    Posts
    240
    Exactly. In fact, I already started implementing the hysto pyramids marching cubes for my 3d noise functions .
    Turbulence Library - Massive collection of procedural noise on the GPU


  13. Location
    Austin, TX
    Posts
    14
    mind blown awesome!
    Last edited by gizm0san; 01-18-2013 at 10:53 AM.
    VFX Artist @ Full Control Aps
    Follow me on Twitter


  14. Location
    Liverpool, UK
    Posts
    368
    Quote Originally Posted by jesta View Post
    Exactly. In fact, I already started implementing the hysto pyramids marching cubes for my 3d noise functions .
    This is great!

    I only discovered the histo pyramids method after implementing the GS method, d'oh!. Funnily enough, I was starting a GPU based voxel terrain method, with dynamic LOD using tessellation!

    Maybe at some point we can do a shader swap, to see what the real performance difference is between the two methods!


  15. Location
    Montreal, Quebec
    Posts
    240
    I'd be glad to.
    Turbulence Library - Massive collection of procedural noise on the GPU


  16. Location
    Chernobyl
    Posts
    47
    the trailer looks like the earth was hit by a asteroid and is renewing it's self!


  17. Location
    Dallas, Tx
    Posts
    161
    Some of the scene appears to have distinct zones carved into the landscape. Is this a result of a voronoi diagram as part of the generation or is it just a coincidence of fbm noise?


  18. Location
    Montreal, Quebec
    Posts
    240
    Quote Originally Posted by jmatthews View Post
    Some of the scene appears to have distinct zones carved into the landscape. Is this a result of a voronoi diagram as part of the generation or is it just a coincidence of fbm noise?
    Sorry for the late response. The "distinct zones" are just a coincidence of the eroded fbm noise. In fact, there's no real erosion process applied to the fbm. I used derivative noise fbms as described here to simulate the erosion process, and it's very fast.

    Stay tuned for a big update on the project, with complete planetary generation .
    Turbulence Library - Massive collection of procedural noise on the GPU


  19. Posts
    662
    Looks fairly impressive. Creating a planet by simply using a noise seed would be interesting. Does it create the exact same results given the same seed (as would be expected) or does it change as you get further out (since you are using some form of hash generation?

    Does it do different biomes yet? As in you fly so far, and the terrain changes from mountainous to desert to forest, and are you planning on implementing that if you don't already. Is it voxel based to where you can dig into it?

    :P Sorry for all the questions, just looks good and fast. I'm tired of terrain generation systems like minecrafts where it just pops into existence and takes forever to do so. It'd be pretty cool to work inside of this system to make full world with cities and roads and everything in real time.
    My Products - smart crosshair/mouse, transition effects, super simple leaderboard, smoke particles
    Current Project: Temporarily None.


  20. Location
    Montreal, Quebec
    Posts
    240
    Thanks for the kind comment. The generator creates everything (height, normals, textures, ambient occlusion, splatmap, etc) from a single int, so you can "save" a terrain by simply saving the seed.

    Biomes are only implemented in the texture and color generation at the moment. Full biomes will be a feature for sure.

    The terrain is heightmap-based, which is why it is so fast. Currently, the system can generate earth-sized planets in milliseconds, which allows for runtime modifications of the terrain. The voxel approach is much slower and provides less realistic results in my opinion, so you won't be able to dig in the terrain.
    Turbulence Library - Massive collection of procedural noise on the GPU

Page 1 of 4 123 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •