Commit Graph

4861 Commits

Author SHA1 Message Date
Robert Osfield
4447190dd6 Refactored osgUtil::ShaderGen to use #pragma(tic) shader composition. 2018-03-14 08:22:45 +00:00
Robert Osfield
98a7772fa7 Merge branch 'master' into shader_pipeline 2018-03-06 10:24:26 +00:00
Robert Osfield
64341cfb72 Added State::glDrawBuffer/glReadBuffer() method to implement lazy state updating for glDrawBuffer and glReadBuffer 2018-03-06 09:49:02 +00:00
Daniel Emminizer
28544a4e29 Minor typo fix on osg::StateAttribute 2018-03-05 10:26:54 -05:00
Robert Osfield
1b8567e11e Added deprecated comments for ShaderComposer 2018-03-05 14:39:07 +00:00
Robert Osfield
1ae954f5c3 Merge branch 'master' into shader_pipeline 2018-02-28 09:11:29 +00:00
Robert Osfield
99bcd95756 Replaced GL_TEXTURE_2D_ARRAY_EXT with GL_TEXTURE_2D_ARRAY 2018-02-28 08:50:48 +00:00
Robert Osfield
351e8e3fe1 Merge branch 'master' into shader_pipeline 2018-02-19 11:23:29 +00:00
OpenSceneGraph git repository
56baa7bf04
Merge pull request #479 from LaurensVoerman/submit_vc14WarnC4800_v2
move Get/SetScalarvalue out of ValueObject and provide specialization…
2018-02-19 10:14:36 +00:00
OpenSceneGraph git repository
c52ae4f99f
Changed the doxygen control characters and clarifications 2018-02-19 08:39:23 +00:00
Hartwig Wiesmann
f01383c02a Addition of comments for ClusterCullingCallback 2018-02-18 08:49:41 +03:00
Hartwig
73a36679df Addition of radius parameter for ClusterCullingCallback's constructor
The radius parameter is already present in ClusterCullingCallback's set method but has been forgotten in the constructor.
2018-02-15 21:10:59 +01:00
Laurens Voerman
b79d680580 move Get/SetScalarvalue out of ValueObject and provide specialization for GetScalarValue<bool> fixing MSVC waring C4800 2018-02-15 14:59:24 +01:00
Laurens Voerman
ec4881da5a bugfix: GetScalarValue returns inverted values for booleans; SetScalarValue needs to be a SetValueVisitor 2018-02-13 17:38:35 +01:00
Robert Osfield
91f3e8fa59 Merge branch 'master' into shader_pipeline 2018-02-13 12:24:26 +00:00
Robert Osfield
b8e5f22cb7 Added virtual bool Texture::isDirty(contextID) method to help determine whether a GL texture object is likely to be out of date and needs updating 2018-02-13 12:01:57 +00:00
mp3butcher
c6b5aba249 regroup and add missing funcs related to immutable texture storage 2018-02-08 23:35:43 +01:00
Robert Osfield
a0c23d914d Merge branch 'master' into shader_pipeline 2018-02-07 09:27:53 +00:00
OpenSceneGraph git repository
6d1d1bb000
Revert "BindingTextureImage: a more complex condition for _texture->apply ?" 2018-02-02 09:54:31 +00:00
Robert Osfield
0c35541fc5 Merge branch 'master' into shader_pipeline 2018-01-27 10:56:09 +00:00
Julien Valentin
f4663b0e32 add ARB_BufferStorage extensions 2018-01-25 16:22:33 +01:00
Robert Osfield
368dd5dd92 Merge branch 'master' into shader_pipeline 2018-01-23 10:39:05 +00:00
OpenSceneGraph git repository
022d1df97d
Merge pull request #454 from mp3butcher/imagebinding
BindingTextureImage: a more complex condition for  _texture->apply ?
2018-01-23 10:26:20 +00:00
Robert Osfield
1e8879f2e2 Merge branch 'master' into shader_pipeline 2018-01-23 10:08:27 +00:00
OpenSceneGraph git repository
3b2b2d762c
Merge pull request #456 from PissedCapslock/patch-2
Fixing typos in comments
2018-01-23 09:56:26 +00:00
Robin Stevens
dcbaa3e64a
Fixing typos in comments 2018-01-23 10:25:32 +01:00
Robin Stevens
5810d2ba18
Typo in comment 2018-01-23 10:20:49 +01:00
Robert Osfield
2f65456dd4 Merge branch 'master' into shader_pipeline 2018-01-21 13:11:51 +00:00
Robert Osfield
18d5a9159f Restructured the system() fallback to be usable for C and C++ 2018-01-21 12:09:49 +00:00
Julien Valentin
0aa8008f0a add a virtual getBufferData to Texture 2018-01-21 01:23:38 +01:00
Robert Osfield
41e3b723a7 Merge branch 'master' into shader_pipeline 2018-01-15 16:52:10 +00:00
OpenSceneGraph git repository
6b9235f185
Merge pull request #449 from LaurensVoerman/submit_toLower
fix vc2017 compile warning 'unsigned int' to 'const char'
2018-01-15 16:28:54 +00:00
Robert Osfield
6a5afd63e7 Merge branch 'master' into shader_pipeline 2018-01-15 16:03:21 +00:00
Robert Osfield
5ad1a652a0 Moved defined into GLDefines header to avoid compile issues under Windows 2018-01-15 16:02:44 +00:00
Laurens Voerman
33f99e9c70 fix vc2017 compile warning 'unsigned int' to 'const char' 2018-01-15 16:42:31 +01:00
Robert Osfield
9fdc713b97 Merge branch 'master' into shader_pipeline 2018-01-14 13:28:45 +00:00
Julien Valentin
4c0a861f91 add static helper func in order to generate Samplers of a Samplerless StateSet
+fix ident
2018-01-13 21:25:47 +01:00
Julien Valentin
d2b8468bf4 add MinLOD MaxLOD and LODBias to Texture 2018-01-13 21:16:16 +01:00
Robert Osfield
26b06a8daa Merge branch 'master' into shader_pipeline 2018-01-12 19:55:34 +00:00
Robert Osfield
ae57f3cd46 Added ability to toggle on/off use of C system() function call, using OSG_SYSTEM_SUPPORTED Cmake option 2018-01-12 19:52:31 +00:00
Robert Osfield
a7cc9664c0 Renamed EnvVar header to os_utils in prep for adding more OS related calls to it 2018-01-12 16:48:17 +00:00
Robert Osfield
903b0895f7 Added non const variants of State::getDisplaySettings/getActiveDisplaySettings(). 2018-01-09 12:16:32 +00:00
Robert Osfield
3e676f67ff Removed inappropriate // 2018-01-06 13:09:16 +00:00
Robert Osfield
230ee49428 Added ValueObject::get/setScaleValue(..) convinient methods 2018-01-06 12:54:14 +00:00
Robert Osfield
339b7ffa7c Removed inappropriate // 2018-01-06 12:52:34 +00:00
Robert Osfield
6a413da143 Merge branch 'master' into shader_pipeline 2018-01-05 11:35:11 +00:00
OpenSceneGraph git repository
eca7831281
Merge pull request #424 from mp3butcher/osgSampler
GL3.3 SamplerObject as StateAttribute
2018-01-05 09:43:16 +00:00
OpenSceneGraph git repository
6ef90054bc
Merge pull request #425 from mp3butcher/callbacks
Support for multiple nest Camera DrawCallbacks
2018-01-05 09:18:39 +00:00
OpenSceneGraph git repository
73689caa5f
Had to fix positioning of { and spacing to be consistent with the rest of the OSG 2018-01-04 15:28:45 +00:00
Julien Valentin
0e76dc169e add more Extensions 2018-01-04 04:18:38 +01:00
Julien Valentin
61548dc5a8 add recursivity on Camera Callbacks 2018-01-04 03:59:25 +01:00
Julien Valentin
662bea239c add GLSampler as Texture Property
and a simple example mixing (add) 2 textures
2018-01-03 21:34:10 +01:00
Robert Osfield
e3d438d80f Merge branch 'master' into shader_pipeline 2018-01-03 12:34:01 +00:00
Julien Valentin
c605b24432 remove old BindImageTexture path 2018-01-02 18:29:42 +01:00
Julien Valentin
8a84ee7660 add (untested) BindImageTexture serializer
TOREVIEW : my GLBoolean serializer macro seams hacky
2018-01-02 18:12:52 +01:00
Robert Osfield
55d4be66b3 Merge branch 'master' into shader_pipeline 2018-01-01 12:36:31 +00:00
Robert Osfield
eb72f3ed30 Renamed ImageTexture file to BindImageTexture to better fit it's OpenGL implementaton.
Improved the indentation so it's more consistent with the rest of the OSG.
2018-01-01 11:10:55 +00:00
Robert Osfield
1f4ae0425c Merge branch 'imagebinding' of https://github.com/mp3butcher/OpenSceneGraph into mp3butcher-imagebinding 2018-01-01 10:16:10 +00:00
OpenSceneGraph git repository
f0bb9da9c6
Changed the enum value to be consistent with StateAttribute 2018-01-01 10:14:58 +00:00
OpenSceneGraph git repository
e27148240a
Change enum name to be consistent with assciated class name 2018-01-01 10:13:14 +00:00
Robert Osfield
dd1f95d24d Fixed typo 2017-12-31 13:17:23 +00:00
Robert Osfield
94a1a84a59 Fixed handling of reassignment of ArrayDispatch when vertex aliasing is toggled 2017-12-31 12:38:17 +00:00
Robert Osfield
b5a3e0d532 Fixed handling of reassignment of ArrayDispatch when vertex aliasing is toggled 2017-12-31 12:35:44 +00:00
mp3butcher
2f8a262a0e add flexier Image Unit Binding implementation (allow different IUBs for a Texture) 2017-12-28 19:04:32 +01:00
Robert Osfield
2b315b7a78 Added ValueObject::get/setScaleValue(..) convinient methods 2017-12-20 20:12:49 +00:00
Robert Osfield
d426513b64 Merge branch 'master' into shader_pipeline 2017-12-19 10:43:44 +00:00
Robert Osfield
5afd32b2d9 Introduced dedicated VertexArrayStateList class to wrap up the VertexArrayState container with convinience methods to help initialize them.
Using the new VertexArrayStateList class fixed bug associated with setting new setTexCoord() array when a VertexArrayState is already assigned.
2017-12-19 09:57:57 +00:00
Robert Osfield
d2bfde30f0 Deprecated dirtyDisplayLists(), use established dirtyGLObjects() instead 2017-12-18 13:54:08 +00:00
Robert Osfield
d313184cd0 Added fine grained checking for GL errors in the GLObjectVisitor so that the OSG's default pre compile stage provides better feesback on any GL errors. 2017-12-06 09:51:57 +00:00
Robert Osfield
a92232fd01 Added fine grained checking for GL errors in the GLObjectVisitor so that the OSG's default pre compile stage provides better feesback on any GL errors. 2017-12-06 09:50:42 +00:00
Robert Osfield
a17b1ac547 Added object map to DisplaySettings::setObject(std::string, Object*) & getObject(std::string)
This enables caching of data, such as pre-loaded files or other objects
2017-12-03 16:43:06 +00:00
Robert Osfield
803026814a From Raymond de Vries, Windows build fixes 2017-12-01 14:38:52 +00:00
Robert Osfield
dadfe8ae0b Merge branch 'master' into shader_pipeline 2017-12-01 09:14:52 +00:00
Björn Blissing
09eefd7973 Added script to identify Windows version
Added script to identify the Windows version used to compile the source.
Currently the windows version for Windows NT is hard coded into the
source. By running this CMake script the _WIN32_WINNT preprocessor
variable gets set to the corresponding windows version.
2017-11-30 12:53:24 +01:00
Robert Osfield
a16702627a Typo fix 2017-11-29 21:20:10 +00: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
OpenSceneGraph git repository
021dca0072
Cleaned up code layout 2017-11-29 08:14:44 +00:00
Julien Valentin
739303b3d9 override compile and createVAS in order to do nothing 2017-11-28 20:38:54 +01:00
Julien Valentin
195df4f811 numgroup removed but introduce a reto compatibility bug in Program serializer
hope nobody use it
2017-11-28 17:39:32 +01:00
Julien Valentin
bf1b4ec2bb add ComputeDispatch class
revoke glDispatch in PCProgram::useProgram
update example
2017-11-28 17:30:04 +01:00
Robert Osfield
34336931fa Deprecated the osg::Shader::reaDShaderFile() and osg::Shader::loadShaderSourceFromFile() methods.
Programmers should use osgDB::readRefShaderFile()/readShaderFile() instead.
2017-11-27 18:28:15 +00:00
Robert Osfield
cb2c48d015 Added template addShader() method to make it easier to pass ref_ptr<osg::Shader> 2017-11-27 15:40:21 +00:00
Robert Osfield
13c593ce0e Fixed typo 2017-11-21 13:59:51 +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
OpenSceneGraph git repository
8d36049dcd
Merge pull request #382 from openscenegraph/osganimation
Osganimation improvements
2017-11-11 14:43:10 +00:00
OpenSceneGraph git repository
a5f6e4b0c4
Small readability improvements 2017-11-11 12:45:55 +00:00
OpenSceneGraph git repository
ca5ce00783
coding style/readability fixes 2017-11-11 12:29:45 +00:00
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