Added support for equalizing the normals along tile boundaries.

This commit is contained in:
Robert Osfield
2005-07-02 08:11:55 +00:00
parent 68cb69ee82
commit 72488d274f
6 changed files with 274 additions and 20 deletions

View File

@@ -568,6 +568,8 @@ class OSG_EXPORT HeightField : public Shape
Vec3 getNormal(unsigned int c,unsigned int r) const;
Vec2 getHeightDelta(unsigned int c,unsigned int r) const;
protected:
virtual ~HeightField();

View File

@@ -735,6 +735,8 @@ class OSGTERRAIN_EXPORT DataSet : public osg::Referenced
void addRequiredResolutions(CompositeSource* sourceGraph);
void readFrom(CompositeSource* sourceGraph);
void allocateEdgeNormals();
void equalizeCorner(Position position);
void equalizeEdge(Position position);
@@ -801,6 +803,9 @@ class OSGTERRAIN_EXPORT DataSet : public osg::Referenced
float _terrain_maxSourceResolutionY;
bool _complete;
typedef std::vector<osg::Vec2> HeightDeltaList;
HeightDeltaList _heightDeltas[NUMBER_OF_POSITIONS];
};