   Newbie Terrain Questions
  I am very interested about how things work while I continue learning C++. My biggest bane as of right now is figuring out the concepts of terrain and level design for games. This is probably my biggest point of interest right now and after hours of reading these forums, tutorials on the net, etc. I still cannot find the answers to some of my questions.What exactly are height maps and static meshes? From what I have gathered height maps are just black and white images using variations in grey to represent the height of the terrain. And static meshes are 3d models created in modeling programs that are basically non moving models that represent the terrain. Is this the only two types? How and when are the height maps actually rendered? Are they rendered and saved as level files or are the images rendered when they game is started?In today's mmorpgs with these seamless worlds, what is the deciding factor between height maps and static meshes? I am wondering if one has better performance over the other, which I am assuming height maps have better performance since its not basically massive models.What actually makes the character go up and down as they run over variations in the terrain, or get stuck when they run into a small ledge? From my past experiences with 2D programming, you used booleans on the tiles to see which the player could move over and which they could not. I am very new to the concept of 3D and wonder what exactly it is that effects this.My biggest question is really about how much effort goes into the details of these terrains? Do the creators basically only see black and white until it is run inside of the game, or do they actually hand position every dip and hump that appears?   
  Im quite new to DirectX but my understanding is that the process of using height maps is similar to that of bump maping, you start of with a model then  render a height map texture which has degrees of white and black to indicate height which is then applied to a mesh to produce the final terrain. Whats the advantage of this? im not exactly sure, maybe its like normal mapped models where all the height and lighting information is stored in the texture (and therefore memory, ram or gfx card) therefore reducing the need for the CPU to render every single vertex.I look forward too for some more clarification, my brother does lots of 3d modeling so most of the information i get on these subjects are through him mostly. Im just about getting to the level where i need to work on these more complex methods of rendering.   ;  A heightmap is just one way of storing a landscape.  It is usually an image in which different colours represent different heights.If you imagine a flat piece of terrain as an equally spaced grid of triangles._______|\|\|\|-------|\|\|\|-------You simply raise or lower the corners of the triangles by the amount calculated from the pixels in the heightmap image.You can also use static meshes created in a 3D modeling package to represent a terrain if you wish.The heightmap itself is just a means of storing the height values you can use a graphical editor to raise and lower the land visualy and then store the heights as a heightmap or you can draw one in a paint package or you can generate one proceduraly using fault formation or mid point displacement.http://en.wikipedia.org/wiki/Heightmap.   ;  Height maps are, like you said, greyscale images where each point is used as the value for a vertex in the terrain model.Static meshes just usually means any mesh that doesn't move. It can be terrain, or anything else. For example, barrels, light models...etc.Height maps are more computationally expensive when loading the world because all the 3d data has to be created at load time. Where as regular 3d meshes just take up more disk space. Which one you use has no bearing on the frame rate or performance. Height maps let you do more interesting things though like random or procedural generation of terrain, and on-the-fly terrain modification.Usually terrain, height maps and regular 3d models, are created in a 3D modelling program, textured, and then exported to whatever format is desired. And yes, usually every bump and hump is hand positioned.The characters go up and down the terrain because of collision detection. The way it's usually done in 3D worlds is that the position of the character is taken, and then a ray is projected downwards from that position, and the position is taken where the ray intersects with the terrain and that value is compard with the characters current position and adjusted accordingly.Ok, thats enough from me. Hope this helped.   ;Quote:Original post by CrimsonGT...What exactly are height maps ...? From what I have gathered height maps are just black and white images using variations in grey to represent the height of the terrain...Not exactly. Height maps are not images. Originally, height maps were stored using image formats because the only tools available to generate and edit height maps were paint programs. Now there are good terrain editors available, so there is no need to store height maps as images.On the other hand, with DX10 you might want to load the height map as a texture and pass it to the geometry shader to generate the terrain mesh. So in that case you probably do want to store it in an image format.   ;  I appreciate the responses, they helped immensely! For games such as World of Warcraft, Archlord, Everquest, and the rest of the MMORPGs what option is usually chosen? Are all of the terrains usually just 3d models that have already been created and stored, and then are just loaded and linked together to form seamless worlds?   