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
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
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
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
502acc19c9
Build fix
2017-05-25 09:54:11 +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
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
mp3butcher
8d40323761
add Extensions
2017-04-05 18:11:50 +02:00
mp3butcher
9d490bbf1c
add ScriptNodeCallback serializer
2017-03-28 22:37:34 +02: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
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
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
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
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
Robert Osfield
96760970ed
Added setDataVariance(DYNAMIC) to stats text labels that are dyanmically updated.
2017-03-09 17:01:33 +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
255a86cbe2
Added public accessors
2017-01-17 10:52:26 +00:00
d-a-heitbrink
3d2f4ea404
Added support for Bindless texture extension,
...
64 bit uniforms, 64 bit buffers
Added new bindless texture example
2017-01-13 09:56:42 -06:00
Hartwig
5e0b3dacc6
Replaced tabs with spaces
2017-01-07 13:54:21 +01:00
Hartwig
7c1098c843
Addition of documentation for LOD and PagedLOD
...
Documentation has been added for their default constructors. Furthermore, the consequences of different center modes have been explained. A comment regarding the setting of the radius has been fixed.
2017-01-07 09:20:56 +01:00
Robert Osfield
1abd99f084
Added support for glObjectLabel debugging
2016-11-15 14:35:47 +00:00
Robert Osfield
5b375124cc
Added osg::Geometry::configureBufferObjects() and ConfigureBufferObjectsVisitor visitor to help with setting up buffer objects in a coherent fashion.
2016-11-14 17:59:25 +00:00
Robert Osfield
99cb8ebacf
Added more flexibility into the State::checkGLErrors() method, allowing calling code to pass in two strings.
...
Improved the StateSet::compileGLObjects() usage of checkGLErrors() to make the warning reports more meaningful.
2016-11-14 11:59:47 +00:00
Robert Osfield
b10d30242d
Fixed GLES build due to lack of GLclampd
2016-10-12 18:00:05 +01:00
Laurens Voerman
1a664b19de
add #define GL_TEXTURE0 for windows users previously provided by GLBeginEndAdapter
2016-10-12 13:29:58 +02:00
Robert Osfield
38ff11f8c5
Renamed ArrayDispatchers to AttributeDispatchers to better reflect it's role
2016-10-11 15:14:14 +01:00
Robert Osfield
e14ee80282
Streamlined the dispatch and activation of attribute dispatchers
2016-10-11 11:29:29 +01:00
Robert Osfield
364c838ea1
Removed unused vertex and texcoord array dispatchers
2016-10-11 11:29:29 +01:00
Fabian Wiesel
b13bbe3bdb
VAO id is a GLuint
2016-10-11 11:29:29 +01:00
Robert Osfield
0ee65c9d2f
Removed unneccessary parameter
2016-10-11 11:29:29 +01:00
Robert Osfield
e11e45a2e3
Removed GLBeginEndAdapter as it is no longer needed
2016-10-11 11:29:29 +01:00
Robert Osfield
aa0c8fdefd
Added ApplyTextureModeProxy for temporarily applying a texture mode
2016-10-11 11:29:29 +01:00
Robert Osfield
1914eb435b
Added State::ApplyModeProxy to help with temporarily applying a mode
2016-10-11 11:29:29 +01:00
Robert Osfield
cd3a5f8097
Added osg::convertToRGBA8(Vec4f) convenience function
2016-10-11 11:29:29 +01:00
Robert Osfield
8febae1546
Fixed VertexArrayState::bind*BufferObject(..) methods so they correctly handle dirtied buffer objects
2016-10-11 11:29:29 +01:00
Robert Osfield
a5e0398a29
Fixed typo in comment
2016-10-11 11:29:29 +01:00
Robert Osfield
611b7afb07
Added OSG_EXPORT
2016-10-11 11:29:29 +01:00
Robert Osfield
e5ab4355be
Added osg::convertShapeToGeometry(...) convinience functions for creating osg::Geometry from osg::Shape descriptions.
2016-10-11 11:29:29 +01:00
Robert Osfield
83b5cabac9
Refactored ShapeDrawable so that it is subclassed from osg::Geometry rather than osg::Drawable.
...
Created a BuildShapeGeometryVisitor visitor that can create osg::Geometry for osg::Shape objects
2016-10-11 11:29:29 +01:00
Robert Osfield
f842750342
Removed no longer used member variables
2016-10-11 11:29:29 +01:00
Robert Osfield
65884f296b
Removed no longer used data structures
2016-10-11 11:29:29 +01:00
Robert Osfield
16da432be3
Moved FOG_COORD and SECONDARY_COLOR #define's from State header into VertexArrayState.cpp
2016-10-11 11:29:29 +01:00
Robert Osfield
359b136b5e
Added check against State::useVertexBufferObjects(..) so that Display Lists are only used when VBO is OFF.
2016-10-11 11:29:29 +01:00
Robert Osfield
94891778c4
Restructred the enabling of vertex array object support to allow one to set enable the default via osg::State.
...
Added OSG_VERTEX_BUFFER_HINT env var to osg::DisplaySettings with VERTEX_BUFFER_OBJECT/VBO, VERTEX_ARRAY_OBJECT/VAO and NO_PREFERENCE to allow one to foce on VBO or VAO usage.
Restructred BufferObject assigned in osg::Geometry
Added
2016-10-11 11:29:29 +01:00
Robert Osfield
ee31921520
Streamlined State::_is*Supported variables
2016-10-11 11:29:29 +01:00
Robert Osfield
1d75089bf8
Build fixes when compiling wuth CMake options OPENGL_PROFILE set to GLCORE
2016-10-11 11:29:29 +01:00
Robert Osfield
e3c663bb02
Removed deprecated code paths and moved implementations into headers
2016-10-11 11:29:29 +01:00
Robert Osfield
bf28e2d037
Refactored the VertexArrayState's handling of vertex attribute aliasing
2016-10-11 11:29:29 +01:00
Robert Osfield
1f147f6bc6
Moved implementations from .cpp's to headers as inline methods to improve performance.
2016-10-11 11:29:29 +01:00
Robert Osfield
97df15b205
Improved naming of createVertexArrayState(..) method
2016-10-11 11:29:29 +01:00