Commit Graph

229 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
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
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
e0be94389e Refactored the handling of text bounding box to provide more stable bounding box computation 2018-04-24 13:52:53 +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
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
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
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
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
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
2f19cd4b87 Improvements to the Signed Distance Field implementation. 2017-10-04 18:06:42 +01:00
Robert Osfield
d2fa7c4317 Simplified and improved the glyph margin computation and usage 2017-09-29 20:21:13 +01:00
Robert Osfield
6d4128324b Improvements to SDF and outline generation 2017-09-26 10:42:47 +01:00
Robert Osfield
708ae1c076 Fixed rendering old sytel outline 2017-09-22 12:22:58 +01:00
Remo E
49c336e514 addShader fix 2017-09-22 08:39:38 +02:00
Robert Osfield
b6bb0caf8d Removed debug output 2017-09-21 16:04:10 +01:00
Robert Osfield
4b6722ab44 Added assignStateSet() to Text::setBackgroundColor() 2017-09-21 16:01:27 +01:00
Robert Osfield
a1f519cbec Removed debug info 2017-09-21 15:41:21 +01:00
Robert Osfield
957a7d4e92 Moved enabling/disabling of SDF so it's done regardless of whether a backdrop is used. 2017-09-21 14:35:31 +01:00
Robert Osfield
78811462f1 Added support for only enabling SignedDistanceField shader path when font resolution is greater than 16. 2017-09-20 15:51:03 +01:00
Robert Osfield
e8eb1ee0c7 Added Text::assignStateSet() and usage to make sure the correct StateSet is setup for each combination of backdrop settings 2017-09-20 14:29:05 +01:00
Robert Osfield
72cf6734a1 Added osgText/shaders to support greyscale and Signed Distance Field based text 2017-09-19 16:35:28 +01:00
Robert Osfield
a12a43d352 Impprovide the computation of the Signed Distance Field 2017-09-14 15:58:38 +01:00
Robert Osfield
70b3a3a442 Fixed of shadow 2017-09-13 11:09:56 +01:00
Robert Osfield
0d5a42f635 Added setting of the Text::BackdropImplementation type to USE_SHADERS when setting up shaders 2017-09-12 19:13:01 +01:00
Robert Osfield
722ed6fc5e Shifted set up of osgText related StateSet from osgText::Font into into osg::TextBase/Text to enable grater control over state required for specific Text implementations 2017-09-12 11:50:47 +01:00
Robert Osfield
de47eb3666 Add support for generating outline and signed distance field channels in a RGBA packed GlyphTexture Image. 2017-09-08 16:59:43 +01:00
Robert Osfield
f3bbb686d2 Removed debug messages 2017-08-29 17:32:14 +01:00
Robert Osfield
5566a025b5 Added TextSettings struct to manage values used to set up the text. with the addition of following command line parameters:
--outline // enable outlne
   --shadow // enable shadow
   --offset ratio // set the backdrop offset
   --text-color r g b a // set the text body color
   --bd-color r g b a // set the shadow/outline color
   --bg-color r g b a // window background color
   -o filename // write create subgraph to disk using specified filename
2017-08-29 17:19:26 +01:00
Robert Osfield
79e764bd17 Improved support for Text with large numbers of glyphs 2017-05-25 12:38:54 +01:00
Robert Osfield
d70d00607f Removed no longer relevant line 2017-03-23 10:25:25 +00:00
Robert Osfield
279cc82a01 Improved readability of code 2017-03-18 11:48:55 +00:00
Robert Osfield
e6703e3cb0 Removed no longer supported code paths 2017-03-18 11:48:55 +00:00
Robert Osfield
feb0214ddc Introduced streamlined text rendering dispatch code. 2017-03-18 11:48:55 +00:00
Robert Osfield
44e303ad90 Added explict call to state.applyModelViewAndProjectionUniformsIfRequired() when required for better GL3/GlES2 support. 2017-03-16 15:46:51 +00:00
Robert Osfield
a4b1a4ce29 Fixed handling of VAO's Text with backdrop and per vertex colours 2017-03-10 17:06:04 +00:00
Robert Osfield
0eb0656d52 Improved handling of backdrops 2017-03-10 12:08:22 +00:00