Commit Graph

536 Commits

Author SHA1 Message Date
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
Robert Osfield
97aeb16551 Moved osgText::GlyphTechnique::Features enum to osgText::ShaderTechinque enum to make it's roll clearer 2017-10-20 17:03:25 +01:00
Robert Osfield
0e39c129b7 Changed the precision setting of #pargma(tic) shader composition define setup to address GLES compatibility issues 2017-10-14 09:06:37 +01:00
Robert Osfield
2303d6afc4 Cleaned up support for GL3 build 2017-10-13 17:03:31 +01:00
Robert Osfield
24bec09b9e Removed the glyph image outline support as it's no longer required. 2017-10-13 13:01:57 +01:00
Robert Osfield
8b12d2d71a Deprecated Text:BackdropImplementation, removing the backend as it no longer required when using shaders for backdrop effects 2017-10-13 11:42:25 +01:00
Robert Osfield
28561b2b77 Removed old multipass implemenmtations of backdrops as effect is now fully implememted in shaders 2017-10-13 08:40:58 +01:00
Robert Osfield
846204ed9e Updated from OpenSceneGraph-Data/shaders/text_sdf.frag to add support for SHADOW 2017-10-12 18:45:38 +01:00
Robert Osfield
eebb679754 Updated text_sdf_frag.cpp from OpenSceneGraph-Data changes that add outline generation for non SIGNED_DISTANCE_FIELD text. 2017-10-12 11:12:47 +01:00
Robert Osfield
7fb37016fd Merge branch 'master' into text_improvements 2017-10-05 12:14:03 +01:00