Terrain rendering engine

Looking for a terrain rendering engine that will take a heightmap (eg 2 dimensional array of height values) and either render them itself or return a set of triangles to be rendered by myself.

Conditions:
- Full source code
- Free
- Working
- DirectX (if it renders itself)
- Optimised, ie LOD-style triangle reduction

If one can be recommended that uses Delphi in C++, that will be a bonus!

I've read loads of tutorials on ROAM and the like but most are theoretical rather than practical.

Thanks

Geoff M.
LVL 8
gmayoAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

pvvvpCommented:
The SOAR alg is a _very_ nice one; I have found it following the links from http://web.interware.hu/bandi/ranger.html (that's an optimized version). However, it is OpenGL :( . Still, this fact is compensated by a thorough mathematical explanations in the papers. It is at the http://www.gvu.gatech.edu/people/peter.lindstrom/papers/tvcg2002.
gmayoAuthor Commented:
Thanks, but OpenGL is no good to me. Nor the maths explanations! I have since found one, in Delphi no less, but based on ROAM with optimisations for triangle strips.

Geoff M.
pvvvpCommented:
Hmm. I look at the sources and see a few GLtypes scattered in h-files, GL/GLUT initialization code in "main.c" and some GL commands in "render.c". Those are quite suitable for just-a-technical-replacing, I think. What with originally-D3D versions... I can't recall any algorithm as good as this in my earlier search attempts, be it OGL or D3D. They all seemed to be nothing but variations on the same old themes. Don't be afraid of maths! (Or OGL :) ). The alg clearly overweights those difficulties.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
gmayoAuthor Commented:
I understand your point, but to be honest, I've gotten a bit fed up with the swathes of code that I've tried to convert which doesn't work, or only partially works, or doesn't compile properly.

It's one thing understanding the theory *or* the programming conversion. It's quite another to learn *both* at the same time! I will have a look at the stuff you've suggested tonight though.

Cheers

Geoff M.
BonneelCommented:
Hi,

You should look at fBm, and multifractals explained in "Texturing an Modelling, a procedural approach" by K.Perlin, K.Musgrave, D.Ebert, Peachey... You can also look a Fourier synthesis.  That is for generating the heigfield (if it isn't done yet).
For rendering tips, you can look at http://www.vterrain.org : there are a lot of ressources for landscapes generating/rendering.

Nicolas Bonneel
http://www.byosphere.com (rendering landscapes too !)

ps : ...it's my first post here... hope it will help ! :))
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Game Programming

From novice to tech pro — start learning today.