Commit Graph

4774 Commits

Author SHA1 Message Date
Robert Osfield
338b0e2b7b Moved getenv usage across to safer osg::getEnvVar() usage 2017-11-01 17:38:33 +00:00
Robert Osfield
0e7e06349e Added safety check for getenv parsing to prevent overflow attacks via getenv. 2017-11-01 16:43:32 +00:00
Robert Osfield
e59ad87044 Made template function inline to avoid multiple declaration issues 2017-11-01 14:16:54 +00:00
Robert Osfield
51a9c66856 Added OSG_ENVVAR_SUPPORTED cmake control and bool osg::getEnvVar(const char* name, T& value, ...) conviniece funcions to make it easier to implement optinal getenv reading code. 2017-11-01 13:32:47 +00:00
Robert Osfield
c242ad4497 Fixed unititialized memory variables and improved readability by adding spacing where appropriate 2017-10-31 17:55:59 +00:00
Julien Valentin
6e79ce348d reformat with the help of AStyle reformat tool (codeblocks) 2017-10-28 14:46:14 +02:00
Robert Osfield
bf517febfc Merge branch 'master' into shader_pipeline 2017-10-28 12:58:47 +01:00
Robert Osfield
671847387f Fixed build errors when compiling with OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION set to OFF 2017-10-27 14:19:13 +01:00
Robert Osfield
11f9bbf6ea Merge branch 'master' into osganimation 2017-10-27 12:54:10 +01:00
OpenSceneGraph git repository
1126812f8f Merge pull request #372 from openscenegraph/text_improvements
Text improvements, introducing implementation of Signed Distance Function texture generation and new shaders for outlines and shadows replacing old multi-pass approach
2017-10-26 14:26:01 +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
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
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
41e9cd3157 Replacement of commas with semicolons 2017-10-22 15:04:33 +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
068f47d91f Build fixes with ref_ptr<> autoconversion disabled 2017-10-19 11:57:53 +01:00
Robert Osfield
879b54f6e9 Fixed GLX EGL build 2017-10-16 10:47:47 +01:00
Robert Osfield
639ced08fc Removed inappropriate tabs&spaces 2017-10-16 10:38:33 +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
Robert Osfield
d6af00d9bd Merge branch 'master' into text_improvements 2017-10-10 09:21:34 +01:00
OpenSceneGraph git repository
d74e340f32 Merge pull request #359 from eligovision/OpenSceneGraph_gles
Added defines: GL_ALPHA4/8/12/16 in osg/Image, this will fix compilat…
2017-10-09 10:03:21 +01:00
OpenSceneGraph git repository
5f985a36a2 Merge pull request #358 from eligovision/OpenSceneGraph_optimizer
VertexAttribDivisor compare function fix: index must be compared
2017-10-09 10:02:51 +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
Konstantin S. Matveyev
1e1f69febc Added defines: GL_ALPHA4/8/12/16 in osg/Image, this will fix compilation error while building for GLES2 2017-10-06 18:16:48 +03:00
Konstantin S. Matveyev
a87e57e946 VertexAttribDivisor compare function fix: index must be compared 2017-10-06 18:14:47 +03:00
Robert Osfield
ddf8c68d26 Added support for multiple --login url username password entries to osgviewer 2017-10-05 15:37:03 +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
a1f519cbec Removed debug info 2017-09-21 15:41:21 +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
370ca2b8a3 Fixed X11 GLES2 build 2017-09-19 17:01:58 +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
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
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
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
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
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
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
8fad310ce1 readd VertexInfluence whenever it's bad named and kinda useless 2017-08-30 15:30:03 +02:00
Julien Valentin
6d1193ee70 readd buildVertexInfluenceSet for backward compat 2017-08-30 14:59:31 +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
fe99b568a0 refactor: remove totally VertexInfluence (renamed BoneInfluenceList) everywhere 2017-08-30 11:12:17 +02: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
186691a9db remove virtual qualifier for deprecated method 2017-08-29 15:10:05 +02:00
Julien Valentin
059fc70337 set defaut implementation at creation 2017-08-29 14:49:11 +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
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
ad550acc60 clean unused 2017-08-28 17:13:48 +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
3efaccb298 add prepareData for RigTransformHW 2017-08-28 15:41:14 +02:00
Julien Valentin
2b5ac5b4db add default constructor for IndexWeight with invalid indices 2017-08-28 15:27:46 +02:00
Julien Valentin
f899a8dde5 add prepareData for rigttransform software 2017-08-28 14:44:09 +02:00
Denys Koch
1d1bfa1b39 Fix flawed BoundingSphere inequality operator 2017-08-28 14:34:39 +02:00
Julien Valentin
e216833286 few refactoring 2017-08-28 14:23:15 +02:00
Julien Valentin
f995c9187e Merge remote-tracking branch 'upstream/osganimation' into osganimation 2017-08-28 13:34:06 +02:00
Julien Valentin
66aedbb0b3 fix a bug introduced when readding transformsoftwareMethod 2017-08-28 13:25:04 +02:00
Robert Osfield
5d55ffe6ee Merge branch 'osganimation' of https://github.com/mp3butcher/OpenSceneGraph into osganimation 2017-08-28 10:28:18 +01:00
Julien Valentin
6dc6bd5b92 fix a bug introduced when readding transformsoftwareMethod 2017-08-28 05:26:20 +02:00
Julien Valentin
f46fdb4d4e add a new prepareData method to the interface 2017-08-28 05:17:17 +02:00
Julien Valentin
2b2a8f3d2e MorphTransformHardware using TBO added 2017-08-28 04:51:52 +02:00
Julien Valentin
ed04e2735e readd virtual void transformSoftwareMethod() for retrocompatibity 2017-08-28 04:42:51 +02:00
OpenSceneGraph git repository
5efdcd5655 Merge pull request #328 from scrawl/group-docs
Fix docs for Group::addChild to match implementation
2017-08-27 18:07:21 +01: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
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
scrawl
1cd1ab1c60 Fix docs for Group::addChild to match implementation
Checking for duplicates is only done if ENSURE_CHILD_IS_UNIQUE is defined, but this is never defined anywhere.
2017-08-26 11:30:55 +00:00
Daniel Emminizer
2e456eeddc No longer using OSG_EXPORT on DefaultIndirectCommandDrawArrays and DefaultIndirectCommandDrawElements, fixing compile errors in MSVC 2015. 2017-08-25 08:55:25 -04:00
Julien Valentin
c89b08ea1f Add extensions 2017-08-25 00:19:22 +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
eefeb3bb93 Fixed underflow issue 2017-08-23 15:26:07 +01:00
Julien Valentin
f97b1626b3 fix nodevisitor construction 2017-08-21 18:33:56 +02: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
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
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
Julien Valentin
899a704eb7 update IndirectCommandArrays interfaces and default impl to use DrawElements like semantic 2017-08-05 18:03:27 +02:00
Julien Valentin
7f292c3fb5 add resize methods method in CommandArrays (it allows user to work without casting to the concrete class result of MDI.getCommandArray())
move getTotalDataSize in CommandArrays interfaces
comply with other DrawElementsXXX removing parameters in mdi constructors and add several method ( allow use of osgUtil::DrawElementTypeSimplifer on these)
2017-08-02 21:50:25 +02:00
Robert Osfield
fda30b36d1 Merged #pragmatic shader fix from OpenSceneGraph-3.4 branch. 2017-07-31 13:38:18 +01:00
Robert Osfield
5a946e218f Improved the readability and consistency with the rest of the OSG by inserting/removing spaces and line spacing. 2017-07-28 13:30:36 +01:00
mp3butcher
a45c4c8f39 set DIBO of the drawcommandarray directly in their interface constructor
it makes osggpu use case lighter + drawcommandarray can't exist without a BO
2017-07-27 12:27:55 +02:00
mp3butcher
104b2dfc72 Promote PrimitiveSetIndirect's VBO to a target explicited DIBO (in order to benefit from BOSet queue management) 2017-07-27 12:13:05 +02:00
mp3butcher
7606159a78 add DrawIndirectBufferObject as State variable in order to minimize call to glBindBuffer(GL_DRAW_INDIRECT_BUFFER,X)
TODO: Promote PrimitiveSetIndirect's VBO to target explicited DIBO (in order to benefit from BOSet queue management)
2017-07-27 01:54:25 +02:00
mp3butcher
9b53775840 remove deprecated DrawIndirectBufferBinding 2017-07-27 01:40:04 +02:00
mp3butcher
8742ad8da6 fix some errors during renaming and cleanup code 2017-07-27 01:08:37 +02:00
mp3butcher
f27c379b1e some renaming and harmonisations with osg metamodel convention 2017-07-26 23:36:55 +02:00
mp3butcher
5be14bc2ba first commit for Indirect Draw integration in osg
users will have to implement interfaces for their custom drawcommandarrays
add a lot of new primitive set + few defines
integration is made in osggpucull
2017-07-26 21:20:28 +02:00
Robert Osfield
9f3533632a Added ability for OSG serializers to get the file version number when writing out via the OutputStream object 2017-06-19 12:04:03 +01:00
OpenSceneGraph git repository
da7a0968be Merge pull request #265 from cxw42/array-classname
Make Array::className() support all Array::Type values
2017-06-19 08:50:00 +01:00
Chris White
eb99df894a Make Array::className() support all Array::Type's
Array::className() had fallen out of date with respect to Array::Type.
This commit updates it, and adds documentation and a debug message to
serve as a reminder for future additions of values to Array::Type.
2017-06-16 11:02:14 -04:00
blobfish
f5bd280b51 osg: KdTree: count degenerates to keep original primitive index in sync 2017-06-04 17:29:57 -04:00
blobfish
bb804c2045 osg: KdTree: encode original primitive index into _vertexIndices 2017-06-04 17:29:57 -04:00
Robert Osfield
79e764bd17 Improved support for Text with large numbers of glyphs 2017-05-25 12:38:54 +01:00
Robert Osfield
502acc19c9 Build fix 2017-05-25 09:54:11 +01:00
Robert Osfield
badb914d46 Tidied up spacing 2017-05-25 08:56:53 +01:00
Robert Osfield
5f446e0022 Fixed naming of OSG_USE_DEPRECATED_API 2017-05-25 08:48:45 +01:00
Robert Osfield
20ac472d1f Moved OSG_USE_DEPRECATED_API from include/osg/Export to Cmake controlled include/osg/Config 2017-05-24 19:40:08 +01:00
Robert Osfield
a60aed70b5 Replaced DimensionMask naming with more appropriate PrimitiveMask nameing. 2017-05-24 18:36:52 +01:00
Robert Osfield
a74b4b94a9 Fixes/clean up of KdTree/LineSegmentIntersector/PolytopeIntersector 2017-05-11 15:29:31 +01:00
Robert Osfield
6e1866ac18 Added --points and --lines command line options that do a very simplistic conversion of geometry primitives to points or lines respectively, used to aid testing of intersectors 2017-05-11 15:29:31 +01:00
Robert Osfield
bc0a402dac Improved indentation, making it consistent with the rest of the OSG headers 2017-05-11 15:25:10 +01:00
Robert Osfield
9ce657f413 Created TemplatePrimitiveIndexFunctor to enable easier handling of point, lines, triangles and quad index meshes 2017-05-11 15:25:10 +01:00
Robert Osfield
c9545970ac Removed redudent bool parameter from TriangleFunctor::operator(Vec3, Vec3, Vec3, bool) so it's now simply TriangleFunctor::operator(Vec3, Vec3, Vec3) as the bool was always false in recently OSG versions. 2017-05-11 15:25:10 +01:00
Robert Osfield
48a3fc30f3 Removed old style OpenGL methods from PrimitiveFunctor classes/templates as these are no longer used or required. 2017-05-11 15:25:10 +01:00
Robert Osfield
8f5493e573 Implemented Polytope::contains(..) for triangle vertices and added support for using the results mask. 2017-05-11 15:25:10 +01:00
Robert Osfield
265efb85a1 Initial work on adding KdTree support for PolytopeIntersector. 2017-05-11 15:25:10 +01:00
Robert Osfield
a95d66a587 Replaced dynamoc_cast<osg::CullStack*> with asCullStack() to improve performance of AutoTransform, screen size based LOD and PagedLOD. 2017-04-26 17:10:58 +01:00
Robert Osfield
92092a56ae Refactored AutoTransform so that it dynamically computes the rotation, scale and matrices during the cull traversal to enable usage in multi-view, multi-threaded applications 2017-04-26 11:50:35 +01:00
Robert Osfield
a4b0dc7426 Added missing Node::asAutoTransform() + NodeVisitor::apply(AutoTransform&). 2017-04-25 18:04:04 +01:00
Laurens Voerman
36fc30d8e7 avoid INFO message about duplicate enums with and without _EXT 2017-04-07 15:56:32 +02:00
mp3butcher
8d40323761 add Extensions 2017-04-05 18:11:50 +02:00
OpenSceneGraph git repository
373204ef7f Merge pull request #236 from mp3butcher/ScriptBranch
add ScriptNodeCallback serializer
2017-03-29 09:27:58 +01:00
Robert Osfield
1292724a27 Added Texture2D include to resolve VS build issue 2017-03-29 09:12:14 +01:00
mp3butcher
9d490bbf1c add ScriptNodeCallback serializer 2017-03-28 22:37:34 +02:00
Robert Osfield
58c52a4cd4 Added TextBase::getMatrix() accessor 2017-03-28 14:43:07 +01:00
Robert Osfield
25e6fbb2ff Fixed typo 2017-03-28 14:42:40 +01:00
Robert Osfield
13b5d247df Fixed typo 2017-03-28 09:41:07 +01:00
Robert Osfield
6308b497f2 Replaced macro based selection of which shaders to use by default with DisplaySettings::setShaderHint() and OSG_SHADER=HINT=GL2|GL3|GLES2|GLES3|NONE controls 2017-03-27 11:44:41 +01:00
Robert Osfield
c6228fabbd Added built-in shaders for shader_pipeline functionality
Added support for enabling shader_pipeline shaders using OSG_SHADER_PIPELINE=ON/OFF env var
Added support for setting the shader_pipeline shaders using OSG_SHADER_PIPELINE_FILES=shader.vert:shader.shaderpipeline_frag env var
Added support for setting the maximum number of texture units used by shader_pipeline shaders via OSG_SHADER_PIPELINE_MAX_TEXTURE_UNITS=<num> env var
2017-03-24 18:53:22 +00:00
Robert Osfield
7346831082 Added parameter to invocation of all GLSL TexEnv combinations and cleaned up debug output from new osg::UniformTemplate implementations 2017-03-24 10:08:51 +00:00
Robert Osfield
986674e547 Added CopyOp handling of Uniform. 2017-03-23 18:12:52 +00:00
Robert Osfield
d5e9a2c447 Added shader pipeline support to various Texture subclasses 2017-03-23 18:12:52 +00:00
Robert Osfield
3821f77c35 Added name of uniform to debug output 2017-03-23 17:59:39 +00:00