infinite terrain

Posted By: gedimaster

infinite terrain - 05/24/06 17:13

i'd like to create a really huge terrain. it seems to me that 3dgs doesn't support 1 huge piece of terrain but rather many pieces of terrain 'stitched' together. the problem is that i can't find a software to do this stitching or splitting and even if so, there're always visible seams and possibly collision detection errors as a result (such as terrain height queries at the boundaries).

can anyone provide any advice on this?
Posted By: xoNoid

Re: infinite terrain - 05/24/06 17:58

Correct me if I am wrong but with the latest 6.4 update chunked terrain removes all limits on terrain size.
Posted By: gedimaster

Re: infinite terrain - 05/25/06 05:53

but the isn't the issue with med? i tried creating a terrain with the maximum values for triangle size and vertices but it simply crashed.
Posted By: ulillillia

Re: infinite terrain - 05/25/06 06:15

You need the 6.4 public beta update for this. With 6.31, you'll need to have at least 4.7 GB of memory just to handle it because of a design flaw in MED. This flaw (originally reported by me when the 6.40.0 update was finally available) has been fixed in the latest MED (since at least 6.40.2). Another possible cause is that the terrain is using more than 65,535 vertices, the limit of DirectX and MED isn't designed to cope with this. The highest possible is 500x500 vertices which needs slightly over triple that limit.

The absolute largest you can make a terrain is 257x255 vertices (or 256x254 tiles as I often think of it as).
Posted By: vlau

Re: infinite terrain - 05/25/06 09:07

You may also try using model terrains instead of HMPs.
First, create them all with same size say 20000 x 20000 quants,
place them all in the centre origin (postion : 0,0,0) in WED,
then set their skill1 for x-axis and skill2 for y-axis like :

terrain 1 = skill 1 : 0, skill 2 : 20000
terrian 2 = skill 1 : -20000, skill 2 : -20000 etc...

Code:

// assign this action to all terrains
action positionTerrain
{
my.x = my.skill1;
my.y = my.skill2;
my.polygon = on; // sensitive of collision

// option : make them visible or invisble within
// the camera view distance to increase fps
while(my!=NULL)
{
if (vec_dist(my.x,camera.x) < camera.clip_far) // play with camera.clip_far
{
my.invisible = Off;
} else {
my.invisible = On;
}
wait(1);
}

}



It is much better than drag and place each terrain in WED.
Posted By: LordRathan

Re: infinite terrain - 05/25/06 09:58

Check this out: Infinite World. Some thoughts to this theme.
Posted By: gedimaster

Re: infinite terrain - 05/26/06 06:33

if i use a huge model instead of hmp, will the engine still 'chunk' it?
Posted By: gedimaster

Re: infinite terrain - 05/26/06 06:36

is there a tool to help create 'skirts' that prevent z-fighting and also holes in the ground when someone puts together several tiles?
Posted By: ulillillia

Re: infinite terrain - 05/26/06 06:48

Chunking only applies to HMP terrains, not MDL terrains. However, with the flexibility of using MDL terrains, you can get faster rendering, greater flexibility in shape, and several more advantages. For holes in the ground, only MDL terrains support that.
Posted By: Machinery_Frank

Re: infinite terrain - 05/29/06 14:41

mdl terrain is not faster. mdl uses uv-sets to apply textures. terrain uses only a plane projection from above. Terrain vertices all have same size. So terrain can render much faster.

But you could program your own clipping system or use the LOD system of Gamestudio for mdl tiles of your terrain. But when you want to do that then it is better to buy IceX2 that already does all that for you.
Posted By: ulillillia

Re: infinite terrain - 05/29/06 14:46

It is faster, provided that you use at least 25% fewer vertices and polygons. I've tested it so I know. Given the flexibility in the shape, 25% is quite easy to get.
Posted By: Matt_Aufderheide

Re: infinite terrain - 05/30/06 13:46

Quote:

mdl terrain is not faster. mdl uses uv-sets to apply textures. terrain uses only a plane projection from above. Terrain vertices all have same size. So terrain can render much faster.




This doesnt make any sense. Vertices dont have a "size". And the uv mapping on terrains is done the same way as it is on models, the only difference being that you can't edit the uvs for terrains (the projection doesnt matter, all vertices have a uv coord like any other mesh). Also, The terrains are rendered internally in D3D as a normal mesh.

In any case hmp terain are not faster than mdls, in my experiments mdls are faster in some cases.
Posted By: Machinery_Frank

Re: infinite terrain - 05/30/06 15:35

Matt. There was a statement from Conitec that terrain renders faster than models and models are faster than level geometry. So it might be that all that is the same in DirectX but the engine will make the difference.

Level blocks are much slower and they will be triangles and textures in your graphic card at the end. But the preprocessing of the engine makes it slow. Maybe it is similar with terrain.
Posted By: ulillillia

Re: infinite terrain - 05/30/06 16:36

It also depends on the design of your MDL terrain. I've also found out, through a fairly recent experiment, if the mesh is regular, such as a grid you'll get a faster frame rate. If irregular, I've noticed a 15% drop in the frame rate (I don't recall the actual result I got; based on this being the only thing seen (and duplicated many times using 1024 polygons or something like that). MDL terrains also allow you to work around corners for odd-shaped buildings and objects as you can just cut out the unneccessary part.
Posted By: jumpman

Re: infinite terrain - 05/31/06 02:25

I think the "chunked" terrain system dosent really help in rendering the terrain, because we forgot about texture sizes that the terrain uses, or workarounds using a multitexture shader. I remember my friends telling me about the Playstation 1 that it could handle many thousands of polygons on screen at once, but this is when those polygons are untextured goraud shaded objects. Using texture maps on the models(or any 3d object) greatly reduces the on screen polygon amount. So a 6000 polygon terrain with a 256 texture will run faster than a 6000 polygon terrain with a 1024 texture. And I dont know what chunked terrain does in reguards to splitting up the texture, or even if it does anything besides hiding polygons.

About the terrains versus models, dont terrains discard the x and y value of each vertecy? Isnt that why we can only move a terrain's vertex in the z value? (up and down). I would guess terrains would run a bit faster than models if both had the same large amount of polygons, since models have much more information for each vertex (I might be wrong).

But then again with models, you can have a seamless transition into underground caves and holes in the floor, you can increase the polygon density of special places, over hanging geometry etc. Say for example you made a hill with a terrain. The hill's silhouette is only as smooth as the whole terrain's polygon density per distance, so if you made a steep high hill, you would see the facets of the polygons trying to approximate the curve. If you wanted to increase the smoothness of that hill silhouette, you would have to start over and increase the WHOLE terrain's polygon amount. With a model ground howver, you can bump up the polygon amount for your hills, and lower the polygon amount for areas with no silhouette (small dips in the floor, holes).
Posted By: xXxGuitar511

Re: infinite terrain - 05/31/06 03:44

Me thinks you might have a lil spellin' error:

Quote:


So a 6000 polygon terrain with a 256 texture will run faster than a 6000 polygon terrain with a 1024 untextured




Posted By: Machinery_Frank

Re: infinite terrain - 05/31/06 08:07

Quote:

So a 6000 polygon terrain with a 256 texture will run faster than a 6000 polygon terrain with a 1024 ...




Yes. Absolutely. Because of that there is the hardware fog and objects that are completeley in the fog appear untextured. I think this helps alot with big scenes on older systems.
© 2024 lite-C Forums