Re: [Widelands-public] Widelands design choices
Status: Beta
Brought to you by:
sirver
From: Stefan <st...@up...> - 2003-12-01 13:16:01
|
> What > I am particularly interested in is 2 things: ... > 2. How does Widelands store and display terrain? Is it a straightforwar= d > matrix with height values, a hexagonal structure or something other fan= cy? > And how is it displayed? Does it use hermite or spline or something els= e? Yes, at this time terrain is a simple matrix with height values. The squa= res=20 (parallelograms, rather) between four points are split into two triangles= =20 which are rendered the usual way, i.e. using gouraud shading and affine=20 texture mapping. Note that currently hardware rendering support (like usi= ng=20 OpenGL) is neither implemented nor wanted as far as I understand. That means that light calculations are done for the corners. Adjacent=20 triangles' normal vectors are averaged to get an estimate of the "normal"= in=20 these points. The shade value basically is the scalar product with the li= ght=20 vector (which is constant) then. These calculations are done in advance a= nd=20 updated whenever a point's height changes. I hope this helps. Regards, Stefan Boettner |