Commit Graph

4523 Commits

Author SHA1 Message Date
Robert Osfield
59a28859ec Added shader pipeline support to osg::TexGen. 2017-03-23 17:59:39 +00:00
Robert Osfield
2fc28a7f64 Added mapping of GL modes to 0 (disabled) or 1 (enabled) for the fixed function -> shaders mapping.
Added flags for hinting to StateAttribute::apply() implementations whether to toggling on/off the fixed function or shader equivilants.
2017-03-23 17:59:39 +00:00
Robert Osfield
2574894e17 Added TextureAttribute base class from Texture related StateAttribute that need texture unit information from StateSet::setTextureAttribute assigned to
help set configure the appropriate uniforms.
2017-03-23 17:58:34 +00:00
Robert Osfield
7d076d0407 Added UniformBase::setName(const std::string& baseName, unsigned int unit); declaration 2017-03-23 17:58:34 +00:00
Robert Osfield
7e43538c63 Added accessors for osg::State's ModeDefineMaps 2017-03-23 17:58:34 +00:00
Robert Osfield
7744c44c8a Added convinience mathod for passing osg::Plane to glUniform 2017-03-23 17:58:34 +00:00
Robert Osfield
bbbfa19ce2 Added osg::PlaneUniform.
Added osg::UniformBase::setName(const std::string&) ability to be reset.
Added osg::UniformBase::setName(const std::string& baseName, unsigned int unit) so set the uniform name in the form "baseName[unit]".
2017-03-23 17:58:34 +00:00
Robert Osfield
5a996dd2d1 Added osg::MakeString class to make it easier to create std::string's using std::ostream style << usage. 2017-03-23 17:58:34 +00:00
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
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
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
7e0551e7e8 Added #pragma import_texture_modes() -> #define into #pragma data structure a GLSL parsing 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
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
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
tomhog
423e14f92f Merge branch 'master' into topic-gles3-ios 2017-03-21 15:33:13 +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
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
Robert Osfield
e6703e3cb0 Removed no longer supported code paths 2017-03-18 11:48:55 +00:00
Robert Osfield
feb0214ddc Introduced streamlined text rendering dispatch code. 2017-03-18 11:48:55 +00:00
Robert Osfield
ffbc1167de Added lazy state updating for vertex array object binding/unbinding 2017-03-13 11:44:34 +00:00
Robert Osfield
61782d8f29 Build fixes 2017-03-11 12:31:19 +00:00
OpenSceneGraph git repository
75e4d85681 Merge pull request #211 from D-A-Heitbrink/master
Added support for unsigned 64 bit ints + some code for bindless textures
2017-03-11 11:58:20 +00:00
OpenSceneGraph git repository
1d8efb1a3a Merge pull request #203 from scrawl/optimizer
MergeGeometryVisitor fix
2017-03-11 11:34:16 +00:00
Robert Osfield
2cad221d80 Cleaned out old code paths 2017-03-09 17:33:38 +00:00
Robert Osfield
96760970ed Added setDataVariance(DYNAMIC) to stats text labels that are dyanmically updated. 2017-03-09 17:01:33 +00:00
Robert Osfield
7868909f43 Improved the handling of array updates and support for VBO and VAO's. 2017-03-08 18:15:06 +00:00
Robert Osfield
b88be0fbda Implemented better handling of VertexBufferObjects and ElementBufferObjects in osgText 2017-03-03 18:31:51 +00:00
Robert Osfield
59931d1591 Removed unneccessary mutable usage 2017-03-02 17:05:24 +00:00
Robert Osfield
a69216a79d Refactored osgText::Tex3D to use a single vertex and normal arrays and a combined set of primitive sets. Deprecated Text3D::RenderMode as it's no longer used. 2017-03-02 16:11:10 +00:00
Robert Osfield
4721651dbe Added NEW_APPROACH code path that merges the separate GlyphGeometry arrays and primitives into a single set of arrays and primitives 2017-03-02 11:12:55 +00:00
d-a-heitbrink
7b3fc0925c Merge branch 'master' of https://github.com/openscenegraph/OpenSceneGraph 2017-03-01 16:12:49 -06:00
Robert Osfield
f233005988 Merged the decoration vertices with the same vertex arrays used for text glyphs 2017-03-01 16:43:05 +00:00
Robert Osfield
f4966a96d4 Replaced hardwired glDrawArrays calls with use of osg::DrawElementsUshort. 2017-03-01 11:51:27 +00:00
Robert Osfield
256441906f Removed unused member variable 2017-02-28 17:12:58 +00:00
Robert Osfield
1290f1584a Removed old Text::GlyphQuads array code paths 2017-02-28 17:02:02 +00:00
Robert Osfield
138af70bd8 Merged the Text::GlyphQuads cooordinate arrays 2017-02-28 16:34:33 +00:00
Robert Osfield
e5685dfca5 Removed old code paths 2017-02-27 15:15:37 +00:00
Robert Osfield
80c96cd54f Added option for combining the GlyphQuad::backdropcoords into the GlyphQuad::coords. 2017-02-27 11:53:42 +00:00
Robert Osfield
8adbf322a0 Scaled back the primitives sets set up so they match the requirements of the osgText::Text accordinging to the BackdropType 2017-02-24 18:25:16 +00:00
Robert Osfield
a84a6bd309 Moved glyph quad setup into dedicated method 2017-02-24 17:08:48 +00:00
Robert Osfield
cefecaec10 Removed unused lineNumber 2017-02-24 11:17:22 +00:00
Robert Osfield
93f28d4eee Moved to use of single vector of DrawElementsUShort for backdrops and foreground text quads 2017-02-24 10:07:01 +00:00
scrawl
e0f7d3241a Fix MergeGeometryVisitor to work with a Group instead of Geode 2017-02-24 01:05:57 +01:00
Robert Osfield
b5048d3b74 Cleaned up types 2017-02-23 18:14:36 +00:00
Robert Osfield
8ff17ddf52 Restructed and unified the position computation 2017-02-23 15:45:43 +00:00