Commit Graph

10531 Commits

Author SHA1 Message Date
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
248805fedd Fixed pre compilation osg::Program state leaking into the main scene graph rendering 2017-10-25 16:13:26 +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
Hartwig
2fc3387429 BUG FIX - Addition of missing #endif directive 2017-10-22 22:13:46 +02:00
Hartwig
abb7f46371 Removal of compiler warning for Cocoa builds 2017-10-22 13:47:51 +02: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
6b75439ae4 Merge branch 'master' into text_improvements 2017-10-20 14:14:14 +01:00
Robert Osfield
38e5fdadf0 From Ralf Habacker, patch refactoring struct ObjOptionsStruct
in obj plugin into a real class, which is a preparation for further obj
related patches.
2017-10-20 11:52:48 +01:00
Robert Osfield
a2ad1c9606 Added built-in support for lighting.vert 2017-10-20 11:37:41 +01:00
Robert Osfield
4645cc789e Updated shaders from OpenSceneGraph-Data/shaders 2017-10-20 10:18:21 +01:00
Robert Osfield
24c2a0ca60 Moved the assignment of the ModifiedCount to before GL texture calls. 2017-10-19 20:57:25 +01:00
Robert Osfield
068f47d91f Build fixes with ref_ptr<> autoconversion disabled 2017-10-19 11:57:53 +01:00
Robert Osfield
6496c304f9 Implemented inplace replacement 2017-10-18 10:32:18 +01:00
David Siñuela Pastor
cc8a34cd14 Do not break systems with cr as line endings 2017-10-18 10:30:57 +01:00
Robert Osfield
ad45bf1d61 Fixed warning 2017-10-16 11:52:54 +01:00
OpenSceneGraph git repository
7b9f44cb17 Merge pull request #364 from mp3butcher/osganimbugfix
add osg::Program::BindUniformBlockList serialization
2017-10-16 10:16:49 +01:00
Robert Osfield
ea379e64e7 Fixed build error 2017-10-16 10:12:19 +01:00
Robert Osfield
5067db39f8 Moved bracket to be consistent with the rest of the OSG 2017-10-16 10:08:18 +01:00
OpenSceneGraph git repository
bfca9998ea Merge pull request #366 from LaurensVoerman/rotateDXT
add support for dxt compressed images to createImageWithOrientationConversion
2017-10-16 10:00:49 +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
0a5c6d3fd6 Improved the formating of GLSL source that is passed to OpenGL to make debugging shaders easier. 2017-10-14 09:03:08 +01:00
Robert Osfield
2303d6afc4 Cleaned up support for GL3 build 2017-10-13 17:03:31 +01:00
Laurens Voerman
274cea19bf copySubImage support for block compressed images, added support for astc compressed type. 2017-10-13 16:54:04 +02: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
Julien Valentin
b540ed70ba add osg::Program::BindUniformBlock serialization 2017-10-12 20:09:55 +02: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
f07bf5be2a Merge branch 'master' into text_improvements 2017-10-12 16:44:40 +01:00
Laurens Voerman
0fedfd2ff9 add support for dxt compressed images to createImageWithOrientationConversion 2017-10-12 17:38:16 +02:00
Laurens Voerman
63f12986b4 added dxtc support in Image::getColor, enhanced Image::isImageTranslucent to test opacity of dxt3 and dxt5 images 2017-10-12 13:49:57 +02: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
d6af00d9bd Merge branch 'master' into text_improvements 2017-10-10 09:21:34 +01:00
Robert Osfield
4906844ea7 Added explictly unbinding of VBO for setInterleavedArrays(). 2017-10-06 18:03:36 +01:00
Robert Osfield
9ac2b2eb7b Added VertexArrayState::ArrayDispatch::className() method and implementation for each ArrayDispatch subclass to help with debugging 2017-10-06 17:47:19 +01:00
Robert Osfield
7868b42ef2 Improved the readability of recent changes by adding spaces, {} and moving { onto separate lines to keep things consistent with the rest of the OSG. 2017-10-05 16:56:30 +01:00
OpenSceneGraph git repository
11352bbdbb Merge pull request #354 from eligovision/OpenSceneGraph_intersection
LineSegmentIntersector fixed: intersection ratio remaped to the range…
2017-10-05 16:31:45 +01:00
OpenSceneGraph git repository
1a1fe43347 Merge pull request #353 from eligovision/OpenSceneGraph_io
tellg call removed from StreamOperator's checkStream function, becaus…
2017-10-05 16:30:21 +01:00
OpenSceneGraph git repository
bc9f481c2b Merge pull request #355 from denyskoch/patch-1
Fix loading of 16bit PNG images
2017-10-05 16:29:37 +01:00
Robert Osfield
042a357278 Fixed spacing to make it consistent with the rest of the OSG and make it easier to read. 2017-10-05 15:59:26 +01:00
OpenSceneGraph git repository
19a48951b7 Merge pull request #351 from LaurensVoerman/vncHostPw
VNC: try to find password for host if no password for host:port is found
2017-10-05 15:57:02 +01:00
OpenSceneGraph git repository
d75564c7e3 Merge pull request #348 from eligovision/OpenSceneGraph_serializers
osg serializers fixed for static build, ShaderAttribute wrapper added
2017-10-05 15:02:17 +01:00
Robert Osfield
c918916bcb Steamlined the handling of osg::Geometry 2017-10-05 12:45:47 +01:00
Robert Osfield
7fb37016fd Merge branch 'master' into text_improvements 2017-10-05 12:14:03 +01:00
Robert Osfield
2f19cd4b87 Improvements to the Signed Distance Field implementation. 2017-10-04 18:06:42 +01:00
Julien Valentin
d2162717b8 fix normalization bug (happen too early )
minor bug

bla
2017-10-04 07:23:46 +02:00
Robert Osfield
d2fa7c4317 Simplified and improved the glyph margin computation and usage 2017-09-29 20:21:13 +01:00
Robert Osfield
beb5801eee Improved SDF generation 2017-09-29 10:39:02 +01:00
Robert Osfield
1f36f5bd8d Added setting of the FontResolution of the DefaultFont 2017-09-29 10:25:04 +01:00
Denys Koch
b3c08a8ad6 Fix loading of 16bit PNG images
When a 16bit PNG image is loaded, the internalTextureFormat is set to unsized (i.e pixelFormat) constant. This results in 8 Bit Texture2D
2017-09-28 11:09:18 +02:00
Robert Osfield
75d23b2c10 Fixed update of GlyphTexture Image when copying new Glyph image's to it. 2017-09-27 11:09:22 +01:00
Robert Osfield
8c575c0cea UPdated from OpenSceneGraph-Data with handling of non textured text decoration 2017-09-26 15:32:41 +01:00
Robert Osfield
6ec9f0a3d3 Updated shader from OpenSceneGraph-Data/shaders to add fade out for SDF and non SDF pathways 2017-09-26 12:51:03 +01:00
Robert Osfield
ca5a8a81a2 Updated wiht OpenSceneGraph-Data/shader version that introduced use of textureLOD to reduce aliasing artifacts with SDF 2017-09-26 10:57:09 +01:00
Robert Osfield
845e1d4463 Updated shaders using latest OpenSceneGraph-Data/shader versions 2017-09-26 10:44:14 +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
Konstantin S. Matveyev
941ec1e451 LineSegmentIntersector fixed: intersection ratio remaped to the range of LineSegment => correct order in multiset of intersections 2017-09-22 11:46:02 +03:00
konstantin.matveyev
cf2b5d030c tellg call removed from StreamOperator's checkStream function, because reading of files (readNodeFile etc.) with tellg on 'every iter' is approximately 100 times slower on Emscripten platform 2017-09-22 11:43:07 +03: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
Laurens Voerman
292b892478 VNC: try to find password for host if no password for host:port is found 2017-09-21 16:33:14 +02: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
e72a38c8b6 Umproved SDF computation. 2017-09-21 14:32:17 +01:00
Robert Osfield
e565a5e1c3 Removed no longer used code paths 2017-09-20 16:51:30 +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
b0829cc352 Updated text_sdf.frag shader to handle GLES2+ versions 2017-09-20 11:02:06 +01:00
Robert Osfield
420094174e Added commented out debug output to make it easier to test in future 2017-09-20 11:01:04 +01:00
Robert Osfield
fafa468fea Fixed OSG_PRECISION_FLOAT usage 2017-09-19 17:07:59 +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
cc7cf54353 Added support for subsititing $VAR_NAME entries in shaders to enable writing shaders that work across GLSL versions. 2017-09-18 18:09:15 +01:00
Konstantin S. Matveyev
8055ec9156 osg serializers fixed for static build, ShaderAttribute wrapper added 2017-09-15 12:36:19 +03: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
7a50bdafe3 Changed the margin computation to properly account of the Signed Distance Function data 2017-09-12 16:03:35 +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
2b010f019f Added setting of the original font reoslution to the created Glyph 2017-09-08 17:02:38 +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
OpenSceneGraph git repository
4bc1320709 Merge pull request #344 from eligovision/OpenSceneGraph_text3d
Text3D dynamic changing fix
2017-09-04 15:21:26 +01:00
Julien Valentin
0a93569b9e add DSO scope in modified XXXTransformHardware serializers 2017-09-04 12:04:37 +02:00
Konstantin S. Matveyev
3503a0fefb Text3D dynamic changing fix 2017-09-04 11:29:50 +03:00
OpenSceneGraph git repository
ff6e77c874 Merge pull request #341 from scrawl/cullingactive_fix
LineSegmentIntersector: respect the 'cullingActive' flag for bounding box check
2017-09-04 08:36:49 +01:00
Julien Valentin
7da072b433 cleanup 2017-09-04 02:34:59 +02:00
Julien Valentin
041a2a6e72 make preparedata skeleton independant (as it was with the Rig::buildInfluenceSet)
no more divergence with master i think
2017-09-04 01:56:43 +02:00
scrawl
6048c1fbdc LineSegmentIntersector: respect the 'cullingActive' flag when testing drawable bounding box 2017-09-03 14:15:36 +00:00
Julien Valentin
381c2150d4 Merge remote-tracking branch 'upstream/master' into osganimation 2017-09-01 20:03:05 +02:00
Julien Valentin
a73c20d7f5 update serializer with new properties 2017-09-01 19:13:01 +02:00
Julien Valentin
9560548722 add MorphTransformHardware serializer 2017-09-01 18:10:40 +02:00
Julien Valentin
78dd81a8b4 add void InfluenceMap::removeUnexpressedBones(Skeleton &skel) const;
a bit experimental but work well without further process on my test set
2017-09-01 17:48:28 +02:00
Julien Valentin
0d02dfbbbd remove utility classes BoneWeight and IndexWeight in order to avoid unnecessary symbols
(but decrease a bit clarity of the code)
2017-09-01 16:23:49 +02:00
Julien Valentin
8b74b04de0 cleanup 2017-09-01 15:19:42 +02:00
Julien Valentin
dee9dc2164 a functional cleanup 2017-09-01 01:43:00 +02:00
Julien Valentin
5aa96727e9 clean and bugfixes 2017-08-31 20:57:19 +02:00
Julien Valentin
b790986f37 few cleanup 2017-08-31 13:49:27 +02:00
Julien Valentin
068a032dac revert s/VertexIndexWeight/IndexWeight/ 2017-08-31 13:30:24 +02:00
Julien Valentin
4c4f760d4a fix a bug in how vertexattributes are filled 2017-08-30 23:19:49 +02:00
Julien Valentin
f4675a5648 I found the damn bug in RigTransformHW 2017-08-30 23:01:21 +02:00
Julien Valentin
1f628235d4 rehabilit an init method to ensure morphing po setted before skinning po in case of rigeom source that are morphgeom 2017-08-30 20:36:34 +02:00
Robert Osfield
1289c4ee41 Added osgText::Font::s/getGlyphInterval(int) and GlyphTexture::s/getGlyphInterval(int) and internal support for clmapping positions of glyph images an defined intervals, defaults to 1. 2017-08-30 16:21:03 +01:00
Julien Valentin
86ad54f671 add parameter to XXXTranformHW to customize reserved texture attribs and vertex attribs 2017-08-30 17:07:11 +02:00
Julien Valentin
705695b41d add a guard (if dirty) on uniform update 2017-08-30 15:48:45 +02:00
Julien Valentin
8fad310ce1 readd VertexInfluence whenever it's bad named and kinda useless 2017-08-30 15:30:03 +02:00
Julien Valentin
fd9b8f103e cleanup 2017-08-30 14:26:15 +02:00
Julien Valentin
985d766f05 uncomment normalization in rigtransformxxx 2017-08-30 12:55:45 +02:00
Julien Valentin
0ebf540d65 add and comment out normlization in rigtransformXXX 2017-08-30 12:09:54 +02:00
Julien Valentin
fe99b568a0 refactor: remove totally VertexInfluence (renamed BoneInfluenceList) everywhere 2017-08-30 11:12:17 +02: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
Julien Valentin
fae9729560 swap priority in BonePtrWeight comparator< yeild the same VG set 2017-08-29 17:41:38 +02:00
Julien Valentin
ce6a316bde cleanup 2017-08-29 17:41:26 +02:00
Julien Valentin
059fc70337 set defaut implementation at creation 2017-08-29 14:49:11 +02:00
Mathieu MARACHE
e2f826b8fc Under macOS the glValidateProgram reports too many
false negatives (errors) about missing buffers, etc..

From the internet https://stackoverflow.com/questions/15335510/opengl-glvalidateprogram-error-on-mac-os-x :
« […] The purpose of glValidateProgram is not to use it as an added "check" step after linking the program, because the GL and application state is hardly ready for actually using that program at this point, probably it's even before we get around to initializing the default framebuffer (its bitdepth, its multisample buffers, etc), and that's what the error hints at.

An appropriate place to call glValidateProgram would be right before you make a real render call. »
2017-08-29 11:34:27 +02:00
Julien Valentin
0c9a624026 few refactoring and fixes 2017-08-29 04:08:55 +02:00
Julien Valentin
b3402d9344 readd the 2 methods in InfluenceMap just in case 2017-08-29 00:34:26 +02:00
Julien Valentin
9856cecb71 cleanup 2017-08-29 00:09:38 +02:00
Julien Valentin
350756e738 add 2 method to VertexInfluenceMap:
normalize and cullInfluenceCountPerVertex
2017-08-28 18:42:22 +02:00
Julien Valentin
5123614f89 comply with refactoring 2017-08-28 18:27:23 +02:00
Julien Valentin
925f1524cf total removal of the old path 2017-08-28 18:16:30 +02:00
Julien Valentin
28bb88a038 remove default order for BoneWeight and restore old sort func (behaviors differs) 2017-08-28 18:02:52 +02:00
Julien Valentin
da1d2b67f7 remove old path and add few fixes 2017-08-28 17:01:03 +02:00
Julien Valentin
6d55d8d341 minor fixes
removed unused
2017-08-28 16:08:14 +02:00
Julien Valentin
2aab28149f reroot to rigtransform::prepareData old path to rig::buildvertexinfluence 2017-08-28 15:59:13 +02:00
Julien Valentin
7659b23f38 remove unused 2017-08-28 15:44:09 +02:00
Julien Valentin
3efaccb298 add prepareData for RigTransformHW 2017-08-28 15:41:14 +02:00
Julien Valentin
4b56a4d3be minor changes+fix 2017-08-28 15:40:04 +02:00
Julien Valentin
f899a8dde5 add prepareData for rigttransform software 2017-08-28 14:44:09 +02:00
Julien Valentin
e216833286 few refactoring 2017-08-28 14:23:15 +02:00
Robert Osfield
5d55ffe6ee Merge branch 'osganimation' of https://github.com/mp3butcher/OpenSceneGraph into osganimation 2017-08-28 10:28:18 +01:00
Mathieu MARACHE
1408c2664e
osg::Program::isFixedFunction() should'nt return true fixed function is unavailable, even if _shaderList.empty() is true 2017-08-28 09:44:10 +02:00
Julien Valentin
2b2a8f3d2e MorphTransformHardware using TBO added 2017-08-28 04:51:52 +02:00
Julien Valentin
ca224c81dd replace VertexInfluence to BoneInfluenceList
and VertexIndexWeight to IndexWeight

fix in example
2017-08-27 05:21:37 +02:00
Julien Valentin
4f0256bcc3 remove unused code and remove a commented section 2017-08-27 01:36:21 +02:00
Julien Valentin
0729e883d8 update serializers 2017-08-26 23:17:54 +02:00
Julien Valentin
32aaeccee1 refactoring and fixes
only change in design: decouplage between MorphGeometry and MorphTransform technique
no real change in behavior (i hope)
2017-08-26 23:06:39 +02:00
Julien Valentin
c89b08ea1f Add extensions 2017-08-25 00:19:22 +02:00
Robert Osfield
68e0b25d32 Cleaned up warnings and removed assorts. 2017-08-24 15:13:14 +01:00
OpenSceneGraph git repository
cf91bb42f0 Merge pull request #321 from LaurensVoerman/tgaMissingColormap
fix gcc/VC compile warnings, reject color mapped tga files with missing colormap.
2017-08-24 11:08:38 +01:00