• Advertisement
Sign in to follow this  

Drawing game area

This topic is 1900 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello.

I'm wondering, if there is a special technique for drawing a games' fields (like in Age of Empires or Heroes IV etc.). But I don't know what I should search for. I know, I can draw one with primitives and "dress" it up with texture. But would be it really the same as in the games mentioned above? And if there is a special technique for drawing such fields, could anybody give me any hints, what I should search for?

Thank you in advance[img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] Edited by DmitryNik

Share this post


Link to post
Share on other sites
Advertisement
You need to google for "terrain rendering" and you will find many different algorithms with various tradeoffs and specialized for various implementations. They generally get the needed data from a heightmap and build a triangulated mesh which can also account for LoD, etc... although there are other implementations such as the voxel terrain system in the C4 engine. Edited by joew

Share this post


Link to post
Share on other sites
Thank you. I was searching for those 2 words pretty long time.[img]http://public.gamedev.net//public/style_emoticons/default/unsure.png[/img]

Share this post


Link to post
Share on other sites
With the answer on my question I was able to draw using LOD my own terrain(it's awesome, guys [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] ). But I got another problem, and to avoid creating a new topic(since the question still relates somehow to the game area(terrain) drawing) I'll describe the problem and will ask the question here. I got stuck with lightning. I'm using XNA and I just tried to make some nice(I believe it's possible) lightning with BasicEffect class. I used directionalLight0 for this purpose and... it doesn't work. I've tried to rotate the terrain, then camera, but there is no any visible objects on the screen at all, there is only dark screen. Here is my code for the lightning and for the world matrix:
[source lang="csharp"] this.basicEffect.LightingEnabled = true;
this.basicEffect.DirectionalLight0.Direction = new Vector3(0,0,1);
this.basicEffect.DirectionalLight0.DiffuseColor = new Vector3(1f, 1f, 1f);[/source]

Only transformation done on the world matrix:
[source lang="csharp"]this.world = Matrix.CreateTranslation(new Vector3(-this.terrainTexture.Width / 2.0f, 0, this.terrainTexture.Height / 2.0f));[/source]

Where could be the problem? Edited by DmitryNik

Share this post


Link to post
Share on other sites
Your Directional Light vector seems to be parallel to the ground, try changing it to Vector3(0,-1,0)

Share this post


Link to post
Share on other sites
[quote name='Molle85' timestamp='1352216021' post='4998063']
Your Directional Light vector seems to be parallel to the ground, try changing it to Vector3(0,-1,0)
[/quote]

To be honest, I've tried every possible value. But it still doesn't work.

Share this post


Link to post
Share on other sites
Normal vectors are not zero. I've checked it. Also even custom point lightning doesn't work. And this is very strange. Since I take the light position and the Vertex position, then the "ray" is created. After that the dot product is calculated(DOT(ray, normal)). Moreover the ray is normalized. I've tried this effect on the small mesh and it worked.



[b]ADDED:[/b]

Yeees! Problem solved!!! [img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img]

The only reason WHY lighting doesn't work was in the order in which statements were written! Before putting vertices into the buffer we have to calculate the normal component of the each vertex. And ONLY after that we can put it in the buffer.[img]http://public.gamedev.net//public/style_emoticons/default/unsure.png[/img] Edited by DmitryNik

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement