Commit Graph

14666 Commits

Author SHA1 Message Date
Robert Osfield
c0b04cc37b Introduced new osg::UniformBase class to enable an extensible uniform class hierachy
Added osg::UniformTemplate, osg::UniformArrayTemplate and a set of IntUniform, IntArrayUniform etc. to make it easier to interact with basic types more efficiently.
2017-03-23 17:58:34 +00:00
Robert Osfield
5bfefdae6a Added mapping of texture modes to #define's to inject into shaders where required 2017-03-23 17:42:33 +00:00
Robert Osfield
1c9219560b if'd 0 out resetting of the Projection and ModelView and Program object pointers in the popAllStateSets() as this was causing problems when using the RootStateSet. 2017-03-23 17:42:33 +00:00
Robert Osfield
4600acb3b7 Restructed check for whether to print out shaders to make it easier to toggle on/off 2017-03-23 17:42:33 +00:00
Robert Osfield
44c11a856b Added toggling of the osg::State ::setUseModelViewAndProjectionUniforms() and setUseVertexAttributeAliasing() via the --mv and --va command line options respectively 2017-03-23 17:42:33 +00:00
Robert Osfield
6d531fd643 Moved the implementation of the State::setUseModelViewAndProjectionUniforms(bool) and State::setUseVertexAttributeAliasing(bool) into State.cpp and added initialization of the VertexArrayState array bindings to ensure that bindings get updated correctly.
Refined the State::popStateSet() method to make it more efficient
2017-03-23 17:42:33 +00:00
Robert Osfield
8ee319bbd5 Added set up of root StateSet in the osg::State to enable shaders to be applied for all rendering on a graphics context. 2017-03-23 17:42:33 +00:00
Robert Osfield
a99b05ff87 Added State::s/getRootStateSet() that enables applications to insert a StateSet above all rendering for a graphics context. Utilized in the new shadper pipeline functionality 2017-03-23 17:42:33 +00:00
Robert Osfield
172ca9bae5 Removed debug version of applyUniformList 2017-03-23 17:42:33 +00:00
Robert Osfield
d1222fc2ef Added fallback textures to handle cases where no texture is provided 2017-03-23 17:42:33 +00:00
Robert Osfield
0bcfa8d980 Added shader defines for setting up vertex and fragment shaders with texture support 2017-03-23 17:42:33 +00:00
Robert Osfield
40e08813e2 Improved debug output of shaders that use shader defines. 2017-03-23 17:42:33 +00:00
Robert Osfield
5f875682bf Added setup of uniform arrays for passing in texture modes 2017-03-23 17:42:33 +00:00
Robert Osfield
df034d6fb8 if'd out ShaderGenVisitor usage under GLES2 to enble proper testing of new fixed function -> shaders infrastructure. 2017-03-23 17:42:33 +00:00
Robert Osfield
de0334e654 Added support for mapping texture modes to #define's 2017-03-23 17:42:33 +00:00
Robert Osfield
7e0551e7e8 Added #pragma import_texture_modes() -> #define into #pragma data structure a GLSL parsing 2017-03-23 17:42:33 +00:00
Robert Osfield
fe2811e822 REplaced _EXT GLenum for standard GL versions 2017-03-23 17:42:33 +00:00
Robert Osfield
71da950cee Standardized GLenum's on non EXT versions 2017-03-23 17:42:33 +00:00
Robert Osfield
c33f33139e Added more mods to the mode string map 2017-03-23 17:42:33 +00:00
Robert Osfield
5c2ea3ad1f Intial work on providing mapping from OpenGL modes to #pragma(tic) shader composition defines.
Shader  usage:

   #pragma import_modes ( GL_LIGHTING, GL_TEXGTURE_2D )

Will provide #define in shaders for GL_LIGHTING and GL_TEXTURE_2D if these Modes are enabled via StateSet::setMode(..);
2017-03-23 17:42:33 +00:00
Robert Osfield
b4152d9634 Added simple fallback from osg::Material::apply() when fixed function pipeline is disabled 2017-03-23 14:53:08 +00:00
Robert Osfield
7ccd25a4d5 Fixed missing initializer for _color and assignment of color to ShapeDrawable 2017-03-23 14:40:44 +00:00
Robert Osfield
9848c1d264 First pass at default shader for GLES2,GLES3 and GL3. 2017-03-23 11:09:49 +00:00
Robert Osfield
d70d00607f Removed no longer relevant line 2017-03-23 10:25:25 +00:00
Robert Osfield
717cb182ce Removed hardwaring to online write inine when writing to binary files to allow inline images in asci and binary files 2017-03-23 09:52:21 +00:00
Torben Dannhauer
53a10a7bd9 as preparation for the upcoming 3rdParty package for Visual Studio 2017, I updated Find3rdPartyDependencies.cmake to find also the newest Freetype 2.7.1 release. 2017-03-22 17:27:05 +00:00
Robert Osfield
e74f8f4bbe Added TextureBuffer serializer 2017-03-22 14:20:03 +00:00
OpenSceneGraph git repository
602a6beda8 Merge pull request #225 from MPursche/add_texture2dmultisample_serializer
Added serializer for Texture2DMultisample
2017-03-22 10:31:45 +00:00
Marcel Pursche
422587a285 Added serializer for Texture2DMultisample 2017-03-22 10:47:58 +01:00
Robert Osfield
48aa852f42 Replaced GL_QUADS and GL_QUAD_STRIP usage with indexed GL_TRIANGLES 2017-03-22 09:43:19 +00:00
OpenSceneGraph git repository
429aef3b08 Merge pull request #221 from tomhog/topic-gles3-ios
GLES3 support improvements on iOS
2017-03-21 17:56:39 +00:00
Robert Osfield
1778a2a6fb Made VAO the default for GL3 builds.
Improved the handling of DisplaySettings::getVertexBufferHint() values.
2017-03-21 15:38:52 +00:00
tomhog
423e14f92f Merge branch 'master' into topic-gles3-ios 2017-03-21 15:33:13 +00:00
OpenSceneGraph git repository
5d6322da2b Merge pull request #224 from MPursche/improved_debian_packages
Improved CPack configuration for building debian packages
2017-03-21 14:43:09 +00:00
Robert Osfield
a74872c6bf Refactored GlyphTexture so that it utlizes standard osg::Texture2D/osg::Image combinations rather than locally implemented per glyph subloading. 2017-03-21 13:10:45 +00:00
Thomas Hogarth
bd2d9a7fed Merged origin 2017-03-20 19:43:07 +00:00
Thomas Hogarth
630af80635 Adusted Font shaders to use gl3 path on gles3, iphone example using inbuilt shaders 2017-03-20 19:35:01 +00:00
Thomas Hogarth
b493657c47 Shaders now using vertex colors 2017-03-20 18:39:56 +00:00
Thomas Hogarth
74abb99b0e small compile fix for ios viewer example gles1 2017-03-20 18:39:56 +00:00
Thomas Hogarth
2ec6624816 updated ios build instructions in readme 2017-03-20 18:39:56 +00:00
Thomas Hogarth
7ba2e728cd GLES3 now working on iOS, tried to maintain support for have bother gles2 and gles3, allowed avfoundation to be added on iOS, improved iOS example cmake generation 2017-03-20 18:39:56 +00:00
Thomas Hogarth
3a6e28da9c More gles3 tweaks 2017-03-20 18:39:56 +00:00
Thomas Hogarth
76fe572934 Added conditionals for GLES3, added correct gl headers for GLES3 on iOS and Android to GL.in 2017-03-20 18:33:08 +00:00
Marcel Pursche
1bf303e566 Improved cpack configuration for building debian packages:
* Added configurable maintainer
* Added configurable dependencies and conflicts per package
* Added post install script to run ldconfig after package is installed
* Updated name of readme file in cpack configuration
2017-03-20 16:31:09 +01:00
Robert Osfield
6670a6e070 Improved support for stats, fonts and shadergen for GLES2, GLES3 and GL3 2017-03-20 14:07:14 +00:00
Robert Osfield
e0592b6d11 Added shader for GL3/GLES/GL2/GL2 2017-03-20 10:31:58 +00:00
Robert Osfield
4498945b98 Quited debug messages 2017-03-20 09:25:49 +00:00
Robert Osfield
266b57c821 Removed no longer required GL3 shaders as osgText itself now provides shaders 2017-03-18 18:09:12 +00:00
Robert Osfield
c7711fd2d4 Added support for GL3/GLES3, GL2,GLE2 shaders to osgText::Font/Text. 2017-03-18 18:08:12 +00:00
Thomas Hogarth
4578b32364 Shaders now using vertex colors 2017-03-18 17:35:00 +00:00