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
7772ef8606
Renamed the osgVolume/Shaders directory to osgVolume/shaders to make it consistent with OpenSceneGraph-Data/shaders
2017-03-24 13:47:05 +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
d491cac58d
Fixed build
2017-03-23 19:26:21 +00:00
Robert Osfield
1fbb2ce01c
Removed debug message
2017-03-23 18:12:52 +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
Robert Osfield
81233ba974
Cleaned up osgshaderpipeline removing functionality now automatically provided in the core OSG
2017-03-23 17:59:39 +00:00
Robert Osfield
83372ff864
Added shader pipeline support to osg::TexEnv
2017-03-23 17:59:39 +00:00
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
ccfb320ae8
Cleaned up set of ModeDefine maps using the new osg:MakeString helper class
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
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