Advertisement

Realtime height-map

Started by July 05, 2000 11:30 AM
5 comments, last by JonatanHedborg 24 years, 5 months ago
I would really like to know a fairly realistic "Height map generator algorithm" And, if someone knows how to, a realtime terrain texture generator... Any ideas? ======================== Game project(s): www.fiend.cjb.net
=======================Game project(s):www.fiend.cjb.net
Go over to the "Graphics porgramming and Theory" Forum here on Gamedev and start reading. Pick up the paper on ROAM. Start learning about subdivision, fractals, noise, erosion, lakes, etc.

Seriously, the simple solutions beg for a better understanding and lead to more complex solutions and the cycle is endless.
_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
Advertisement
I am sorry for the topic name, i was THINKING about run-time, not real-time ohh, well... any ideas about that?

========================
Game project(s):
www.fiend.cjb.net
=======================Game project(s):www.fiend.cjb.net
I can''t remember the game now, but I remember that they used a random seed value to generate an entire terrain height-map algorithmically, using fractals. It was cool because, for their network games, they had millions of different possible terrains, and all they had to do was send the seed value to each network player to get them all synced. You''d have to research fractals before attempting this, I''m sure.
To generate an initial terrain there are basically two approaches.

1) Start with a triangle and a random seed. Subdivide the edges of the triangle to create 4 new triangles. Displace the newly created points by some amount divided by the level. As you subdivide triangles you have to makes sure the edges of your neigboring triangles are subdivided with the same seed to avoid cracks.

One seed creates a unique terrain.

2) The other way is to create a 2 dimensional array and pass the x and y and z coords of each grid point into a noise function and sum over multiple octaves to displace each point. Kind of like this:

point.z = 0;
for (j = 1; j < 257; j *= 2) {
point.z += noise (point.x * j, point.y * j, point.z * j) / j;
}
_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
Look at "The good-looking textured light-sourced bouncy fun smart and stretchy page".
http://freespace.virgin.net/hugo.elias/

I suggest to look at the perlin noise that can help you.
Direct link:
http://freespace.virgin.net/hugo.elias/models/m_perlin.htm

Floyd
Advertisement
Thanx!

Those pages are really usefull

========================
Game project(s):
www.fiend.cjb.net
=======================Game project(s):www.fiend.cjb.net

This topic is closed to new replies.

Advertisement