Commit Graph

545 Commits

Author SHA1 Message Date
Robert Osfield
149c04b0df Added a _fontFallback to TextBase to cache any fallback font (usually DefaultFont) that is used when the Textbase::_font is null. 2019-07-31 14:11:59 +01:00
konstantin.matveyev
2b0105f875 OSG_TEXT_USE_FONTCONFIG additional check needed 2019-07-26 14:40:47 +03:00
konstantin.matveyev
b0c89b137d OSG_TEXT_USE_FONTCONFIG cmake option added: Set to ON to enable attempt to use FontConfig in osgText; Disabled by default for iOS and Android 2019-07-26 14:09:36 +03:00
Robert Osfield
24d61c2df0 Change the DefaultFont so that it's managemed via the ObjectCache to enabl it to be release and cleared in a central manner.
Added call to Registry::releaseGLObjects() to osgViewer/Renderer.cpp to enable automatic clean up of objects in the ObjectCache.
2019-07-25 14:10:01 +01:00
Robert Osfield
ccbc632afc Added handling of iOS and Android to make sure FontConfig is only used for Desktop builds 2019-07-22 17:20:10 +01:00
Ralf Habacker
dc9f6f2751 cmake: Added find_package module for fontconfig which is not available with cmake < 3.14
This file has been taken from cmake 3.14
2019-07-15 19:00:25 +02:00
Robert Osfield
02d91a3eea Adopted the matrix transformation code from Text 2019-07-15 16:16:45 +01:00
Robert Osfield
9ad7ae5524 Cuietened down the reporting of failure to find fontconfig 2019-07-15 15:05:05 +01:00
Ralf Habacker
af5a794a82 Fix 'Incorrect default location for true type fonts on openSUSE'
https://github.com/openscenegraph/OpenSceneGraph/issues/778
2019-07-15 11:08:31 +02:00
Daniel Emminizer
3a3ddfce49 osgText::String:createUTF8EncodedString() now supports 4-byte UTF-8 strings (code points over 0x100000). 2018-12-06 14:10:14 -05:00
OpenSceneGraph git repository
c2f0da31f2 Merge pull request #620 from LaurensVoerman/txt_SCREEN_COORDS
fix scale problem for osgText with characterSizeMode SCREEN_COORDS and _position set.
2018-09-11 11:29:36 +01:00
Robert Osfield
8780347f2f Cleaned up code 2018-09-11 09:05:16 +01:00
gwaldron
22e6f6038f osgText: fixed thread-safety issues in Glyph and Font 2018-09-11 08:53:40 +01:00
Laurens Voerman
4dc6a6c4cd fix scale problem for osgText with characterSizeMode SCREEN_COORDS and _position set. 2018-09-07 15:09:15 +02:00
gwaldron
e4adb509e0 osgText: perform pixel size computation in double-precision to prevent coordinate jitter 2018-05-21 20:04:45 +01:00
Robert Osfield
eae5f9b958 Moved the rotation to before the scale 2018-05-21 18:14:18 +01:00
Robert Osfield
55c0afbe3a Restructed SCREEN auto scaling so that it's removes the rotation of the modelview matrix so that the XY coords of the text map directly to window xy coords for all text alignment types 2018-05-20 13:22:58 +01:00
Robert Osfield
362e355db2 Rewrote TextBase::computeMatrix(..) computation of the scaling factor with slower but easier to understand and more robust code 2018-05-12 11:40:25 +01:00
Robert Osfield
e79edabf98 Restructed the handling of SCREEN_COORD scaling to better handle window resizing 2018-05-05 15:47:28 +01:00
Daniel Emminizer
27955ae8e9 Text only applies GL_TEXTURE_2D modes when fixed function is available. Prevents GL3 Core Profile console spam. 2018-05-04 06:44:13 -04:00
Robert Osfield
37a63d37e2 Split up #pragma so that there only three parameters per line to aovid Intel driver bug crash 2018-04-26 09:52:32 +01:00
Robert Osfield
1daacced5a Renamed text.vert and text.frag to osgText_Text.vert and .frag to avoid name overlapping with user shaders. 2018-04-26 09:52:32 +01:00
Robert Osfield
31c29f4318 Refactored the handling of glyph and shadow alpha values to make the text and shadow clearer for fonts with narrow glyphs 2018-04-24 15:33:03 +01:00
Robert Osfield
e0be94389e Refactored the handling of text bounding box to provide more stable bounding box computation 2018-04-24 13:52:53 +01:00
Alberto Luaces
02c310982e Fix typos and spelling. 2018-04-23 11:03:37 +01:00
Robert Osfield
6bfca1582e Refactored the way that margin is applied to the text buounding box to prevent growth of the bounding box each time Text::setPosition() is called. 2018-04-06 20:07:57 +01:00
Robert Osfield
36f891c6cd Changed TextBase::setAlignment() to use computeGlyphRepresentation(); rather than computePositions(); to address issues seen with calling Text::setAlignment() after calls to Text::setText() 2018-04-06 14:10:51 +01:00
Robert Osfield
6c055e3400 Added __VERSION__<140 check for usage of gl_ClipVertex to avoid GL3 core profile usage issues 2018-04-02 16:23:07 +01:00
Robert Osfield
9d5a22a0aa Added suport for writing to gl_ClipVertex 2018-03-30 15:27:35 +01:00
gwaldron
23b94c2468 Text: added code in accept(functor) methods to check for empty vectors before accessing front() element, which was causing a crash in some cases. Also fixed a negated null check in getCharacterCoords 2018-03-12 17:35:46 -04:00
Robert Osfield
55a45e3c0e Changed the text bounding box calcualtion so that it only takes in to account the basic glyph size, and doesn't add in the glyph margin used for accounting for texel sampling 2018-02-06 17:54:33 +00:00
Philippe Renon
3e12972a03 osgText: fix typos related to SIGNED_DISTANCE_FIELD 2018-01-10 14:21:25 +01:00
Konstantin S. Matveyev
2d3ed2a3c7 TextBase: left alignment position fix 2017-12-12 12:08:50 +03:00
Robert Osfield
a6069c3226 Introduced Drawable::CreateVertexArrayStateCallback to enable customization of how VertexArrayState objects.
Added public accessors to the Drawable::VertexArrayStateList.
2017-11-29 14:22:31 +00:00
Robert Osfield
7f97b9f999 Added Text::getCharacterCorners(...) method to help applications that want to find out the positions of characters being rendered. 2017-11-21 13:41:57 +00:00
Robert Osfield
01c68ba5e5 Temporary workaround for the regression of intersection tests with osgText::Text. Added a local vertex array that is transformed by the last applied text matrix. 2017-11-06 19:53:38 +00:00
Robert Osfield
14f50ab31c Fixed CovertiScan reported uninitialized member variable 2017-10-31 17:39:34 +00:00
Robert Osfield
b3515d0e09 Build fix for when compiling with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION set to OFF 2017-10-27 13:48:52 +01:00
Laurens Voerman
93ef9d1dc9 use osg::maximum, not std::max 2017-10-27 09:41:28 +02:00
Robert Osfield
1e896777d1 Updated from OpenSceneGraph-Data/shader/text.frag to add fixes to handling of vertexColor's alpha values 2017-10-26 12:08:00 +01:00
Robert Osfield
5918735ebc Added update of glyph representation to ensure all the glyphs are assigned to the required GlyphTextures 2017-10-26 12:03:56 +01:00
Robert Osfield
fa58d01644 Added optimization for text where the colour alpha value is 0.0, returning early to aovid any GL calls. 2017-10-25 16:29:25 +01:00
Robert Osfield
8f658fbc32 Updated from OpenSceneGraph-Data/shaders/text.frag to address GLSL int to float conversion warning 2017-10-24 15:14:23 +01:00
Robert Osfield
9c9439ef73 Added DisplaySettings:s/getgTextShaderTechnique() and OSG_TEXT_SHADER_TECHNIQUE env var support to DisplaySettings.
Added using of DisplaySettings:getgTextShaderTechnique() to Text default constructor.
Added better debug output control in Text.cpp
2017-10-24 14:46:13 +01:00
Robert Osfield
1ecae6d33a Improved the Text::_shaderTechnique default setting using OSG_TEXT_SHADER_TECHNIQUE env var, options are ALL_FEATURES, GREYSCALE, SIGNED_DISTANCE_FIELD, SDF, NO_TEXT_SHADER, NONE. 2017-10-24 12:34:48 +01:00
Robert Osfield
c162a091fe Quitened down debug info 2017-10-24 12:07:13 +01:00
Robert Osfield
1cd0a5fe03 Fixed Glyph::TextureInfo assignment bug 2017-10-24 11:36:00 +01:00
Robert Osfield
55a1764712 Renamed text_sdf.frag to text.frag and removed text_greyscale_frag.
Cleaned up setup of osgText::ShaderTechnique adding a NO_SHADER_TECHNIQUE option.
2017-10-23 16:07:24 +01:00
Robert Osfield
4b295c46d1 Restructed the way that GlyphTexture is set up to better support control of osgText::ShaderTechnique from osgText::Text 2017-10-23 14:50:35 +01:00
Robert Osfield
817b6601d2 Added Text::s/getShaderTechnique() 2017-10-21 10:08:41 +01:00