Commit Graph

10469 Commits

Author SHA1 Message Date
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
Laurens Voerman
9ef4859f55 fix gcc/VC compile warnings, reject color mapped tga files with missing colormap. 2017-08-24 11:37:21 +02:00
Julien Valentin
107b7be95b Merge remote-tracking branch 'upstream/master' into MDI7 2017-08-24 11:26:23 +02:00
OpenSceneGraph git repository
b89384d810 Merge pull request #318 from mp3butcher/osganimation
change the design of BufferIndexBinding to work with BufferData instead of BufferObject +matrix transpose
2017-08-24 09:53:32 +01:00
Julien Valentin
d49f0d67af change the design of BufferIndexBinding to work with BufferData instead of BufferObject
allow convenient BufferData abstraction +  serialization of BufferIndexBinding
2017-08-24 03:28:55 +02:00
Julien Valentin
3b03699fbc add a transpose method for 4x4
and a transpose3x3 to transpose only orthogonal part of a mat4x4
2017-08-23 23:49:36 +02:00
Robert Osfield
3b69755117 Fixed comparison to properly handle texture coordinates being assigned 2017-08-23 14:51:18 +01:00
OpenSceneGraph git repository
90e27d3b7d Merge pull request #314 from LaurensVoerman/notify2
reduce the need to reallocate the std::ostream buffer behind osg::Notify
2017-08-23 14:48:04 +01:00
Robert Osfield
bb3b69962a Warning fixes 2017-08-23 14:39:35 +01:00
Laurens Voerman
682730fbe4 reduce the need to reallocate the std::ostream buffer behind osg::Notify (causing multitreading issues) by pre-allocating 4095 bytes. 2017-08-23 11:53:16 +02:00
Michael Kapelko
59d3b1ebac Fix stat64 build issue with NDK 15 by definining at stat for Android 2017-08-22 22:49:56 +03:00
OpenSceneGraph git repository
ad98bdd165 Merge pull request #311 from eligovision/master
Geometry::compileGLObjects function VAO fix
2017-08-22 09:22:41 +01:00
Laurens Voerman
3a50e2948b ReaderWriterVNC.cpp fix g++ warnings 2017-08-22 09:35:00 +02:00
Konstantin S. Matveyev
d1453a41c2 Geometry::compileGLObjects function VAO fix 2017-08-22 10:12:36 +03:00
Robert Osfield
8926f0e9c2 Using a PR from Sando Mani for requestioning a specific GL version as a base, cleaned up formattating, made the new code paths simpler and added clean up of memory 2017-08-21 11:40:45 +01:00
OpenSceneGraph git repository
70135d606e Merge pull request #307 from eligovision/master
[*] createTexturedQuadGeometry: fixed for GL3 spec
2017-08-20 19:53:41 +01:00
scrawl
fb214b62a1 Use osg::Quat::value_type instead of double in collada plugin
Note that although the value_type is currently always double, using the proper typedef will open the door to implementing a float Quaternion in the future (as I have done so in my own fork)
2017-08-20 15:56:40 +00:00
konstantin.matveyev
6841f37ccc [*] createTexturedQuadGeometry: fixed for GL3 spec: GL_QUADS -> GL_TRIANGLES 2017-08-20 18:01:49 +03:00
AnyOldName3
67a0f815e4 Add support for type-1 (colour-mapped, uncompressed) targa images to the osgTGA plugin 2017-08-19 22:22:20 +01:00
OpenSceneGraph git repository
32f895bc5f Merge pull request #304 from eligovision/master
glClear should not be called with zero-mask in osgUtil::RenderStage::…
2017-08-19 17:20:40 +01:00
Konstantin S. Matveyev
036add8e9e glClear should not be called with zero-mask in osgUtil::RenderStage::drawImplementation 2017-08-18 10:20:26 +03:00
Robert Osfield
bdbff4824b Fixed iterator comparison. 2017-08-18 08:11:57 +01:00
Robert Osfield
34b4e70015 Added version check for boolean, TRUE and FALSE settings 2017-08-17 10:52:59 +01:00
Robert Osfield
f3adcda6b7 Removed the GLclampd declaration and replaced its usage with GLdouble to standardize the OSG extension setup with current GL/GLES headers.
Added a float fallback from osg::DepthDangeIndex to suppprt GLES.
2017-08-16 14:20:00 +01:00
OpenSceneGraph git repository
bfbaecaf49 Merge pull request #300 from eligovision/master
Text3D character/glyph size fix
2017-08-16 11:30:14 +01:00
konstantin.matveyev
237ab29ff8 Merge remote-tracking branch 'upstream/master' 2017-08-15 22:15:31 +03:00
konstantin.matveyev
b0ef9b0c42 Text3D character/glyph size fixed 2017-08-15 22:11:15 +03:00
luzpaz
2cd31f65e4 misc. typo fixes
mostly non-user-facing but some doxy.
2017-08-15 12:23:49 -04:00
Uwe Woessner
f186f6b2d4 Extension to the PLY plugin to read files with textures. 2017-08-15 15:52:35 +01:00
OpenSceneGraph git repository
86d7a903a1 Merge pull request #298 from eligovision/master
Emscripten: EGL instead of SDL2 in GLExtensions.cpp
2017-08-15 06:39:02 +01:00
konstantin.matveyev
8e8d5b2fe0 Emscripten: EGL instead of SDL2 in GLExtensions.cpp 2017-08-14 11:19:04 +03:00
Robert Osfield
c18be2fc41 Replaced local FindZLIB.cmake usage with CMake's own FindZLIB.cmake, and ZLIB_LIBRARY to ZLIB_LIBRARIES 2017-08-09 14:18:35 +01:00
OpenSceneGraph git repository
e606e0b4de Merge pull request #296 from openscenegraph/FullScreen
From Don Burns, add use of Xinerama to ensure full screen goes across all screens.
2017-08-09 14:08:59 +01:00
Anna Sokol
9d1234e866 In the attached GraphicsWindowWin32.cpp file, I changed order of the "else-if" for the TOUCHEVENTF_UP and TOUCHEVENTF_MOVE, I made it less intrusive then changing them into "if" events. I tested this on Windows 7 64-bit with a touch screen and a Windows 10 64-bit tablet.
Separately in the same file, I also needed to address the fact that the close button would not react on touch so I added to the top of the "handleNativeWindowingEvent" close button handling in case of touch events. Again this was tested on the same 2 devices.
2017-08-08 13:35:35 +01:00