| | Interesting terrain generation procedures | |
|
|
| Author | Message |
|---|
Commander Keen Industrial Team Lead

Posts: 1120 Reputation: 30 Join date: 2010-07-23 Location: Czech Republic (not that anyone would know where it is...)
 | Subject: Interesting terrain generation procedures Sat Sep 11, 2010 8:49 am | |
| Found this at Outerra forums: Artificial Terrain Generation. It even covers spherical planets! |
|
 | |
Chameleonsushi580
Posts: 14 Reputation: 0 Join date: 2010-09-06 Age: 17 Location: Rhode Island (Eastern Standard Time)
 | Subject: Re: Interesting terrain generation procedures Sat Sep 11, 2010 11:29 am | |
| Ooooooooo~.....
How nice looking. Everything on this page looks like it could definitely be of some use, as it covers basically every department that we need to work on. :3
And also, someone seems to be developing a very ambitious project with this same technology and it looks like it could contribute to our "space phase"....
http://www.infinity-universe.com/Infinity/index.php?option=com_content&task=view&id=12&Itemid=33 |
|
 | |
roadkillguy Regular

Posts: 451 Reputation: 12 Join date: 2010-08-25 Age: 18 Location: Rhode Island
 | Subject: Re: Interesting terrain generation procedures Sat Sep 11, 2010 1:58 pm | |
| I like the resized hemisphere one.. It may even work within a simple latlon sphere. We wouldn't have strange bumps at the top.. Lemme think about this. _________________ Generation - A collection of organisms that exist in a given timeframe. Preparation - When the game loads and prepares the next generation. Be sure to check out the current development progress UPDATED! |
|
 | |
~sciocont Overall Team Lead

Posts: 2564 Reputation: 61 Join date: 2010-07-06
 | Subject: Re: Interesting terrain generation procedures Sat Sep 11, 2010 5:30 pm | |
| That's a very helpful link, and it covers just about everything we need to implement. Excellent find! _________________ Remember our goals: simplicity, science, and playability. Keep them in mind always. [OE]| [FAQ]|[Wiki]|[My Internet Presence]  |
|
 | |
Djohaal Learner

Posts: 144 Reputation: 0 Join date: 2010-12-03
 | Subject: Re: Interesting terrain generation procedures Fri Dec 03, 2010 9:46 pm | |
| SIGGRAPH man, SIGGRAPH. It is the biggest computer graphics journal out there, and often some of its papers are free!  Google for it and go sniffin' on the database |
|
 | |
Darkov Newcomer

Posts: 58 Reputation: 0 Join date: 2010-09-23
 | Subject: Re: Interesting terrain generation procedures Mon Jan 03, 2011 4:23 am | |
| |
|
 | |
Commander Keen Industrial Team Lead

Posts: 1120 Reputation: 30 Join date: 2010-07-23 Location: Czech Republic (not that anyone would know where it is...)
 | Subject: Re: Interesting terrain generation procedures Mon Jan 03, 2011 3:37 pm | |
| Was working just a few days ago. The basic VTP link is still working though. |
|
 | |
AIs-null Learner

Posts: 147 Reputation: 0 Join date: 2011-02-05
 | Subject: Re: Interesting terrain generation procedures Mon May 16, 2011 12:41 pm | |
| | Code: | i = 0; for(x in 0 to xcount) for(y in 0 to ycount) { addvertex(x * cellwidth, y * cellwidth)
if(x < (xcount - 1) and y < (ycount - 1)) { addtriangle(i, i + 1, i + xcount) addtriangle(i, i + xcount, i + xcount + 1) } } |
Something like this should suffice for a terrain generator. Amiright? |
|
 | |
Commander Keen Industrial Team Lead

Posts: 1120 Reputation: 30 Join date: 2010-07-23 Location: Czech Republic (not that anyone would know where it is...)
 | Subject: Re: Interesting terrain generation procedures Tue May 17, 2011 10:55 am | |
| Believable terrains will need fractal erosion and snow deposition as well as pretty complex landmasses, but that's something for later. For now, simple perlin should be fine. |
|
 | |
~sciocont Overall Team Lead

Posts: 2564 Reputation: 61 Join date: 2010-07-06
 | Subject: Re: Interesting terrain generation procedures Tue May 17, 2011 7:51 pm | |
| | Commander Keen wrote: | | Believable terrains will need fractal erosion and snow deposition as well as pretty complex landmasses, but that's something for later. For now, simple perlin should be fine. |
That's for dynamic planets, which we'll cover later._________________ Remember our goals: simplicity, science, and playability. Keep them in mind always. [OE]| [FAQ]|[Wiki]|[My Internet Presence]  |
|
 | |
roadkillguy Regular

Posts: 451 Reputation: 12 Join date: 2010-08-25 Age: 18 Location: Rhode Island
 | Subject: Re: Interesting terrain generation procedures Fri May 20, 2011 11:03 am | |
| | AIs-null wrote: | | Code: | i = 0; for(x in 0 to xcount) for(y in 0 to ycount) { addvertex(x * cellwidth, y * cellwidth)
if(x < (xcount - 1) and y < (ycount - 1)) { addtriangle(i, i + 1, i + xcount) addtriangle(i, i + xcount, i + xcount + 1) } } |
Something like this should suffice for a terrain generator. Amiright? |
The problem is, we not only have to wrap that around into a sphere, but apply seamless perlin noise to it as well. That means we have to somehow find a way to avoid artifacts at the top. We also need to have a way to LOD the terrain.
EDIT: libnoise works great for perlin noise, that's not the issue.
My idea is to use 3D perlin noise after generating a sphere. We then plug each cartesian (not spherical) coordinate into a 3D perlin noise function. Each value is then used to move that point further or closer to the center of the sphere, creating a seamless heightmap. Unfortunately, hangovers are a no-go with this method. (which probably isn't an issue)_________________ Generation - A collection of organisms that exist in a given timeframe. Preparation - When the game loads and prepares the next generation. Be sure to check out the current development progress UPDATED! |
|
 | |
~sciocont Overall Team Lead

Posts: 2564 Reputation: 61 Join date: 2010-07-06
 | Subject: Re: Interesting terrain generation procedures Fri May 20, 2011 4:15 pm | |
| | roadkillguy wrote: | | AIs-null wrote: | | Code: | i = 0; for(x in 0 to xcount) for(y in 0 to ycount) { addvertex(x * cellwidth, y * cellwidth)
if(x < (xcount - 1) and y < (ycount - 1)) { addtriangle(i, i + 1, i + xcount) addtriangle(i, i + xcount, i + xcount + 1) } } |
Something like this should suffice for a terrain generator. Amiright? |
The problem is, we not only have to wrap that around into a sphere, but apply seamless perlin noise to it as well. That means we have to somehow find a way to avoid artifacts at the top. We also need to have a way to LOD the terrain.
EDIT: libnoise works great for perlin noise, that's not the issue.
My idea is to use 3D perlin noise after generating a sphere. We then plug each cartesian (not spherical) coordinate into a 3D perlin noise function. Each value is then used to move that point further or closer to the center of the sphere, creating a seamless heightmap. Unfortunately, hangovers are a no-go with this method. (which probably isn't an issue) |
Hangovers and caves can be added in with boolean operations and populated after the initial heightmap.
_________________ Remember our goals: simplicity, science, and playability. Keep them in mind always. [OE]| [FAQ]|[Wiki]|[My Internet Presence]  |
|
 | |
roadkillguy Regular

Posts: 451 Reputation: 12 Join date: 2010-08-25 Age: 18 Location: Rhode Island
 | Subject: Re: Interesting terrain generation procedures Sat May 21, 2011 10:55 am | |
| How? How will the vertices be displaced? Were talking low level opengl calls here. _________________ Generation - A collection of organisms that exist in a given timeframe. Preparation - When the game loads and prepares the next generation. Be sure to check out the current development progress UPDATED! |
|
 | |
AIs-null Learner

Posts: 147 Reputation: 0 Join date: 2011-02-05
 | Subject: Re: Interesting terrain generation procedures Sat May 21, 2011 12:23 pm | |
| I belive we have no other option than having caves (and equal) to be independant 3d objects then? |
|
 | |
~sciocont Overall Team Lead

Posts: 2564 Reputation: 61 Join date: 2010-07-06
 | Subject: Re: Interesting terrain generation procedures Sat May 21, 2011 1:03 pm | |
| I suppose caves would have to be independent. I'm no expert on programming in OpenGL, I just assumed you could intersect meshes and delete unnecessary parts to make the caves.
_________________ Remember our goals: simplicity, science, and playability. Keep them in mind always. [OE]| [FAQ]|[Wiki]|[My Internet Presence]  |
|
 | |
| | Interesting terrain generation procedures | |
|