Landscapes

Started by
16 comments, last by _ShaDoW_ 23 years, 5 months ago
Hello all, For a while i''m learning to code in c++, i used VB for 4 years, and did DirectX within VB as well. So i know a couple of things about 3d programming. For now, i want to make a landscape engine, such like Black & White, the settlers, etc.. I''ve no idea to start from, i''ve been reading some about using Quadtree''s is this what i need for a good landscape? If so, could someone give me some URL''s for more info about them, if not, someone give me a type of engine i should use, some URL''s would be handy Thanks in advance, Martin
Advertisement
I hear Octrees are better for out door enviroments... it''s basically the quadtree principle with another dimension, so it''s not the anti-Christ. If I recall correctly, you can find stuff on this at www.Gamasutra.com or/and www.flipcode.com. If you want to try something else, you could also search for ROAM, which in theory is really an excellent "theory", but some experts consider it a bit CPU-expensive to play around with (but it highly intuitive...).

Being punctual is only making your mistake on time...

Murphy
Being punctual is only making your mistake on time...Murphy1 to 3 chefs make a good restaurant 100 chefs makes a McDonaldsTim Sweeney
Octree''s do not replace quadtree''s. You should either go with quadtree''s or roam, personally I think quadtrees are a little simpler than roam. Octree''s are not used to make continuous level of details, thats the difference.

*** Triality ***
*** Triality ***
Just what I needed since that is what I''m working on now.
Keys to success: Ability, ambition and opportunity.
?
Octree are a kind of strucure, they are used to what you choose to used them for.

Octree are best than Quadtree in the way that they handle 3D terrain much more than them.
Basically you can see a Quadtree as almost a 2D handler.
(no caves, terrain is almost plane)

An octree can be considered as a 3D handler.
(Mountains, caves, strange terrain..)

Of course you can use Octree to do LOD/MRM.
About ROAM a problem I see with it is the integration of strucrues (like house) on a ROAM terrain.
And the fact that it''s handled as only ONE object.
(Clipping maybe problematic)

However you should read ROAM and adaptive Quadtree Articles to grab ideas and simply know them.

-* So many things to do, so little time to spend. *-
-* So many things to do, so little time to spend. *-
"Octree are best than Quadtree in the way that they handle 3D terrain much more than them.
Basically you can see a Quadtree as almost a 2D handler."

ild disagree with this i''ld say the opposit if ure in a terrain situtaion use quadtree BTW how many caves did u go into today

another quote
"For a while i''m learning to code in c++, i used VB for 4 years, and did DirectX within VB as well. So i know a couple of things about 3d programming."
im sure we''re all interesting in knowing how u know about 3d programming from knowing VB,C++

(sorry im in a strange mood)



http://members.xoom.com/myBollux
I said i knew "some" about 3d programming, i did a simple fps game in VB once.....
Octree allow you to produce any kind of landscape you can think about much more easily than Quadtree.

A quadtree is ''flat'' compared to an Octree so I think I wasn''t wrong telling you that Quadtree are for terrain with little ''bumps'', while Octree can handle fantasy terrains.

Of course, the depending on what kind of terrain you want to make you''ll use one or another.
The Octree structure let you more freedom in designing your terrain than a Quadtree IMO.

Note also that most people use heightmaps with quadtree, and that it heavily reduce the freedom you have in creating your terrains.

I don''t think you should begin straight C++ coding with a 3D engine, I would advice you to create simple programms and maybe a 2D engine (using OpenGL to learn the API you may want to use in your 3D engine, and benefiting from 3d acceleration and nice effects) before writing your 3D engine.

-* So many things to do, so little time to spend. *-
-* So many things to do, so little time to spend. *-
A real programmer can use any language he pleases for whatever task he chooses :-P
Keys to success: Ability, ambition and opportunity.
HAHAHAHA, Saying that quadtrees cannot be used for 3d terrain is a joke, in fact I''d recommend Quadtrees be used instead of Octrees. They are so much easier because you can "ignore" one of the axes althogether, usually the y axis. This will then easily allow you to generate terrain, especially efficiently using a heightmap, etc etc. Caves can also be done because you''re not storing the points in the quadtree, you''re just pointing to the list of points there...

Bringing another dimension into it complicates it further because it double increases the data used and processed and it slows the whole system down...

Dæmin
(Dominik Grabiec)
sdgrab@eisa.net.au
Daemin(Dominik Grabiec)

This topic is closed to new replies.

Advertisement