The following commit has been merged in the master branch: commit fa3747cda6b533fc030d30fabbf7d8af77dad3ab Author: Bas Couwenberg <sebas...@xs4all.nl> Date: Fri Sep 13 15:17:41 2013 +0200
Add patch to support adapt MPGeometry to support OpenSceneGraph 3.1.8. diff --git a/debian/changelog b/debian/changelog index b2bbe98..0577052 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +osgearth (2.4.0+dfsg-4) UNRELEASED; urgency=low + + * Add patch to support adapt MPGeometry to support OpenSceneGraph 3.1.8. + + -- Bas Couwenberg <sebas...@xs4all.nl> Fri, 13 Sep 2013 15:14:27 +0200 + osgearth (2.4.0+dfsg-3) unstable; urgency=low * Missing dependency libqt4-opengl-dev diff --git a/debian/control b/debian/control index 579c2ad..8f45244 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: osgearth Section: devel Priority: extra Maintainer: Debian GIS Project <pkg-grass-devel@lists.alioth.debian.org> -Uploaders: Pirmin Kalberer <pi_...@sourcepole.ch> +Uploaders: Pirmin Kalberer <pi_...@sourcepole.ch>, Bas Couwenberg <sebas...@xs4all.nl> Build-Depends: debhelper (>= 7), quilt, cmake (>= 2.6.2), libopenscenegraph-dev (>= 2.8.0), openscenegraph (>= 2.8.0), libgdal-dev, libgeos-dev, libexpat1-dev (>= 2.0.1), diff --git a/debian/patches/MPGeometry-OpenSceneGraph-3.1.8.patch b/debian/patches/MPGeometry-OpenSceneGraph-3.1.8.patch new file mode 100644 index 0000000..95b2733 --- /dev/null +++ b/debian/patches/MPGeometry-OpenSceneGraph-3.1.8.patch @@ -0,0 +1,130 @@ +Description: Updates to MPGeometry to support changes to OpenSceneGraph Geometry class in OSG 3.1.8. +Origin: https://github.com/gwaldron/osgearth/commit/e67deedb2d5275d490dd393ec736a933c2ac48f0 +Author: jasonbeverage <jasonbever...@gmail.com> +Last-Update: 2013-07-01 +--- a/src/osgEarthDrivers/engine_mp/MPGeometry.cpp ++++ b/src/osgEarthDrivers/engine_mp/MPGeometry.cpp +@@ -18,6 +18,9 @@ + */ + #include "MPGeometry" + ++#include <osg/Version> ++ ++using namespace osg; + using namespace osgEarth_engine_mp; + using namespace osgEarth; + +@@ -212,18 +215,36 @@ MPGeometry::drawImplementation(osg::Rend + + arrayDispatchers.reset(); + arrayDispatchers.setUseVertexAttribAlias(state.getUseVertexAttributeAliasing()); ++ ++ ++ //Remove ++#if OSG_VERSION_LESS_THAN(3,1,8) + arrayDispatchers.setUseGLBeginEndAdapter(false); ++#endif ++ + ++#if OSG_MIN_VERSION_REQUIRED(3,1,8) ++ arrayDispatchers.activateNormalArray(_normalArray.get()); ++ arrayDispatchers.activateColorArray(_colorArray.get()); ++ arrayDispatchers.activateSecondaryColorArray(_secondaryColorArray.get()); ++ arrayDispatchers.activateFogCoordArray(_fogCoordArray.get()); ++#else + arrayDispatchers.activateNormalArray(_normalData.binding, _normalData.array.get(), _normalData.indices.get()); + arrayDispatchers.activateColorArray(_colorData.binding, _colorData.array.get(), _colorData.indices.get()); + arrayDispatchers.activateSecondaryColorArray(_secondaryColorData.binding, _secondaryColorData.array.get(), _secondaryColorData.indices.get()); + arrayDispatchers.activateFogCoordArray(_fogCoordData.binding, _fogCoordData.array.get(), _fogCoordData.indices.get()); ++#endif ++ + + if (handleVertexAttributes) + { + for(unsigned int unit=0;unit<_vertexAttribList.size();++unit) + { ++#if OSG_MIN_VERSION_REQUIRED(3,1,8) ++ arrayDispatchers.activateVertexAttribArray(unit, _vertexAttribList[unit].get()); ++#else + arrayDispatchers.activateVertexAttribArray(_vertexAttribList[unit].binding, unit, _vertexAttribList[unit].array.get(), _vertexAttribList[unit].indices.get()); ++#endif + } + } + +@@ -231,7 +252,24 @@ MPGeometry::drawImplementation(osg::Rend + arrayDispatchers.dispatch(BIND_OVERALL,0); + state.lazyDisablingOfVertexAttributes(); + ++ + // set up arrays ++#if OSG_MIN_VERSION_REQUIRED( 3, 1, 8 ) ++ if( _vertexArray.valid() ) ++ state.setVertexPointer(_vertexArray.get()); ++ ++ if (_normalArray.valid() && _normalArray->getBinding()==osg::Array::BIND_PER_VERTEX) ++ state.setNormalPointer(_normalArray.get()); ++ ++ if (_colorArray.valid() && _colorArray->getBinding()==osg::Array::BIND_PER_VERTEX) ++ state.setColorPointer(_colorArray.get()); ++ ++ if (_secondaryColorArray.valid() && _secondaryColorArray->getBinding()==osg::Array::BIND_PER_VERTEX) ++ state.setSecondaryColorPointer(_secondaryColorArray.get()); ++ ++ if (_fogCoordArray.valid() && _fogCoordArray->getBinding()==osg::Array::BIND_PER_VERTEX) ++ state.setFogCoordPointer(_fogCoordArray.get()); ++#else + if( _vertexData.array.valid() ) + state.setVertexPointer(_vertexData.array.get()); + +@@ -246,23 +284,50 @@ MPGeometry::drawImplementation(osg::Rend + + if (_fogCoordData.binding==BIND_PER_VERTEX && _fogCoordData.array.valid()) + state.setFogCoordPointer(_fogCoordData.array.get()); +- ++#endif ++ + for(unsigned int unit=0;unit<_texCoordList.size();++unit) + { ++#if OSG_MIN_VERSION_REQUIRED( 3, 1, 8) ++ const Array* array = _texCoordList[unit].get(); ++ if (array) ++ { ++ state.setTexCoordPointer(unit,array); ++ } ++#else + const osg::Array* array = _texCoordList[unit].array.get(); + if (array) state.setTexCoordPointer(unit,array); ++#endif + } + + if( handleVertexAttributes ) + { + for(unsigned int index = 0; index < _vertexAttribList.size(); ++index ) + { ++#if OSG_MIN_VERSION_REQUIRED( 3, 1, 8) ++ const Array* array = _vertexAttribList[index].get(); ++ if (array && array->getBinding()==osg::Array::BIND_PER_VERTEX) ++ { ++ if (array->getPreserveDataType()) ++ { ++ GLenum dataType = array->getDataType(); ++ if (dataType==GL_FLOAT) state.setVertexAttribPointer( index, array ); ++ else if (dataType==GL_DOUBLE) state.setVertexAttribLPointer( index, array ); ++ else state.setVertexAttribIPointer( index, array ); ++ } ++ else ++ { ++ state.setVertexAttribPointer( index, array ); ++ } ++ } ++#else + const osg::Array* array = _vertexAttribList[index].array.get(); + const AttributeBinding ab = _vertexAttribList[index].binding; + if( ab == BIND_PER_VERTEX && array ) + { + state.setVertexAttribPointer( index, array, _vertexAttribList[index].normalize ); + } ++#endif + } + } + diff --git a/debian/patches/series b/debian/patches/series index 0a55278..8ab01fc 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ soversion.patch +MPGeometry-OpenSceneGraph-3.1.8.patch -- osgEarth terrain rendering toolkit _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel