Rewrote the Text3D bevel implementation to automatically adjust bevel thickness to avoid overalapping and erronous tesselation.

Added osgText::Bevel::s/getRoundedConcaveJunctions(bool) to control how the bevel should be tessellated around concave junctions on the glyph boundary.


git-svn-id: http://svn.openscenegraph.org/osg/OpenSceneGraph/trunk@14871 16af8721-9629-0410-8352-f15c8da7e697
This commit is contained in:
Robert Osfield
2015-05-26 10:05:47 +00:00
parent 05841d7c00
commit 820166b49d
7 changed files with 481 additions and 47 deletions

View File

@@ -35,10 +35,14 @@ class OSGTEXT_EXPORT Bevel : public osg::Object
bool operator == (const Bevel& rhs) const
{
if (_smoothConcaveJunctions != rhs._smoothConcaveJunctions) return false;
if (_thickness != rhs._thickness) return false;
return _vertices==rhs._vertices;
}
void setSmoothConcaveJunctions(bool flag) { _smoothConcaveJunctions = flag; }
bool getSmoothConcaveJunctions() const { return _smoothConcaveJunctions; }
void setBevelThickness(float thickness) { _thickness = thickness; }
float getBevelThickness() const { return _thickness; }
@@ -58,6 +62,7 @@ class OSGTEXT_EXPORT Bevel : public osg::Object
protected:
bool _smoothConcaveJunctions;
float _thickness;
Vertices _vertices;
};