Surface normals
OK I want to calculate the vertex normals on my hexagonal terrain using a height map. I think that in order to do this, i need to calculate the surface normal of each of the 6 triangles that a vertex touches and then average their normals to create an average vertex normal, where the 6 triangles meet.
I may be wrong in my method here, i am new to this. If anyone has a better idea, please tell me.
Also how do i find a surface normal in vb.net, im sure there must be some kind of built in function for this.
Thanx in advance!
you may find this page useful:
http://www.lighthouse3d.com/opengl/terrain/index.php3?normals
http://www.lighthouse3d.com/opengl/terrain/index.php3?normals
If you would have a square-based terrain, the equation would look like this:
normal.x=height(x-1,z)-height(x+1,z);
normal.z=height(x,z-1)-height(x,z+1);
normal.y=2;
normalize(normal);
(this is the average of the normals of the triangles that contain the point. Surprisingly simple.)
The hexagonal thing should be really similar, but not axis-aligned.
normal.x=height(x-1,z)-height(x+1,z);
normal.z=height(x,z-1)-height(x,z+1);
normal.y=2;
normalize(normal);
(this is the average of the normals of the triangles that contain the point. Surprisingly simple.)
The hexagonal thing should be really similar, but not axis-aligned.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement