Tuesday, July 20, 2010

Terrain Rendering Progress

Terrain Rendering

It isn't Crysis or Just Cause 2 yet, but my terrain rendering system is coming along nicely.

Here is a flyover video. Any stuttering in the video is from the capture and encoding process - it runs butter-smooth.



Techniques I'm currently using:
  • Terrain generation with L3DT.
  • Skybox rendered with Terragen and cube-maped with AMD CupeMapGen.
  • Texture splatting for landscape detailing.
  • Water shading based on a modified version of Kyle Hayward's water component with the addition of variable water transparency depending on water depth.
  • Bloom and Lens Flare based on Microsoft's XNA samples.
  • Simple terrain Level-Of-Detail system. It currently works at a whole-island level - I'll likely have to move to a more complicated approach.

7 comments:

  1. Awesome!
    Maybe you should consider implementing some sort of Rayleigh and Mie light scattering?

    ReplyDelete
  2. Hey, just wanted to say the island looks beautiful and I can't wait to see what game will come out of this!

    ReplyDelete
  3. Thanks guys! I'm definitely planning on adding as much eye candy as I have horsepower for.

    To be honest, I'm not sure yet myself what game will come out of this - currently I'm just working on the underlying technology.

    ReplyDelete
  4. Truly amazing stuff man. I'm liking your camera handling skills too :]

    ReplyDelete
  5. Thanks Lotus. The camera is actually being driven by my current flight model. Right now it is just a pretty simple lift/drag/thrust model, but it is almost good enough to be used in arcade flight game.

    ReplyDelete
  6. Very nice. I really like the features, you really nailed the JC2 look. Would you mind sharing the L3DT settings you used, if you still have the project lying around?

    ReplyDelete
  7. Hi Derek - thanks! I don't recall the exact L3DT settings, but I don't think I did anything very complicated. If you just mess around with L3DT a bit, you should be able to get similar results pretty easily.

    ReplyDelete